我想从变量的名称中获取其值。
澄清一下,XML 文档以字符串形式提供变量名称;我想获得价值。
像这样的东西:
string bublegumA = "strawberry";
string bubblegumB = "banana";
//get which variable from the XML
string fromXML = "bubblegumB";
string output = getValue(fromXML);
//it should return "banana"
你不能那样做。变量名称仅在设计时存在。一旦编译(没有调试符号),变量名称就会丢失。
但你可以这样做:
var myValues = new Dictionary<string, string>();
myValues["bublegumA"] = "strawberry";
myValues["bublegumB"] = "banana";
string output = myValues["bublegumB"]; // "banana"
您还可以使用ExpandoObject http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx如果您不喜欢设置属性的字典语法,尽管您仍然将其转换为字典以按名称获取值:
dynamic myValues = new ExpandoObject();
myValues.bublegumA = "strawberry";
myValues.bublegumB = "banana";
string output1 = myValues.bublegumB; // "banana"
string output2 = (string)((IDictionary<string, object>)myValues)["bublegumB"]; // "banana"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)