首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么通过变量名得到变量值

2012-03-09 
如何通过变量名得到变量值intabc1;ell8;sla9mkk101;var_name abc var_valuevalue_by_name(var_na

如何通过变量名得到变量值
int   abc=1;
        ell=8;
        sla=9
        mkk=101;

        var_name= "abc ";
        var_value=value_by_name(var_name);     //结果根据变量名求得值为1
在当前类中
如何通过变量名得到变量值

[解决办法]
你可以使用HastTable来达到目的,但是只使用变量的名称是不能做到的。


你可以这样:

HastTable ht = new HashTable();
ht.Add( "abc ", 1);
ht.Add( "ell ", 8);
ht.Add( "sla ", 9);
ht.Add( "mkk ", 101);

使用上:
ht[ "abc "] = "abc ";
var_value=ht[var_name];
[解决办法]
这个问题相当挑战。。。
可不可以把变量放到一个类里面,然后做几个接口用于访问这些变量呀。。。这样你就可以再设计一个函数。。。参数就是变量名字。。。然后返回值就是变量的值。。。。
(我随便说说)。。。不好表骂我。。。。
ps:在编译以后,哪来的什么变量名呀。。。都是像50008080h之类的地址。。。怎么可能只根据名字得到变量值呢?
[解决办法]
数据结构要好好看看啦。反射貌似用在这里有点复杂了。哈希表hashtable就可以啦
[解决办法]
一个不是问题的问题,

对于强类型的编译型语言来说,是做不到的,

当然,不考虑性能,可以用反射,

热点排行