使用 C#,我可以访问名称存储在另一个字符串变量中的变量的内容吗
例如。
string str ="ABCDEFG";
string variable = "str";
在这里我可以使用 var 访问字符串 str 的值吗???
使用 C#,我可以访问名称存储在另一个字符串变量中的变量的内容吗
例如。
string str ="ABCDEFG";
string variable = "str";
在这里我可以使用 var 访问字符串 str 的值吗???
你可能可以,但这太复杂了。你有没有想过使用 Dictionary 类?
Dictionary<string,string> myDictionary = new Dictionary<string,string>();
myDictionary["str"] = "ABCDEF";
var valueinstr = myDictionary["str"];
是的,您可以使用反射。
var fieldInfo = this.GetType().GetField(var);
string theValue = (string) fieldInfo.GetValue(this);
请注意,在您的示例var
中是关键字,因此您不能将其用作变量的名称。
使用反射方法,您可以获得一个描述属性的对象,然后使用它从类的特定实例中检索值。如果您的属性不是公开的,那么您必须在获取PropertyInfo时指定正确的BindingFlags。如果您使用示例中的变量,则需要检索FieldInfo对象(另一个示例)。