0

使用 C#,我可以访问名称存储在另一个字符串变量中的变量的内容吗

例如。

string str ="ABCDEFG";
string variable = "str";

在这里我可以使用 var 访问字符串 str 的值吗???

4

2 回答 2

2

你可能可以,但这太复杂了。你有没有想过使用 Dictionary 类?

Dictionary<string,string> myDictionary = new Dictionary<string,string>();

myDictionary["str"] = "ABCDEF";

var valueinstr = myDictionary["str"];
于 2012-08-25T04:51:19.923 回答
1

是的,您可以使用反射。

var fieldInfo = this.GetType().GetField(var);
string theValue = (string) fieldInfo.GetValue(this);

请注意,在您的示例var中是关键字,因此您不能将其用作变量的名称。

使用反射方法,您可以获得一个描述属性的对象,然后使用它从类的特定实例中检索值。如果您的属性不是公开的,那么您必须在获取PropertyInfo时指定正确的BindingFlags。如果您使用示例中的变量,则需要检索FieldInfo对象(另一个示例)。

于 2012-08-25T04:55:49.927 回答