如何通过变量名得到变量值
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就可以啦
------解决方案--------------------一个不是问题的问题,
对于强类型的编译型语言来说,是做不到的,
当然,不考虑性能,可以用反射,