日期:2014-05-19  浏览次数:21697 次

如何通过变量名得到变量值
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就可以啦
------解决方案--------------------
一个不是问题的问题,

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

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