是否有可能使用一个动态变量(不知道命名)在C#?
在PHP中,我能做到
$var_1 = "2";
$var_2 = "this is variable 2";
$test = ${"var_".$var_1};
echo $test;
output: this is variable 2;
我们能做到这一点在C#中?
是否有可能使用一个动态变量(不知道命名)在C#?
在PHP中,我能做到
$var_1 = "2";
$var_2 = "this is variable 2";
$test = ${"var_".$var_1};
echo $test;
output: this is variable 2;
我们能做到这一点在C#中?
在C#中,您使用的字典将值和字符串关联。
没有,基本上是这样。 编译器不保证会存在方法变量(其形式为书面),或名称...
如果他们字段(实例或静态),那么你可以使用反射来获取值; 但不是方法变量。 你想要的东西,也许是使用字典作为替代品?
var vars = new Dictionary<string,object>();
vars["var_1"] = "2";
vars["var_2"] = "this is variable 2";
Console.WriteLine(vars["var_" + vars["var_1"]]);
不知道这是否与当地变量(和最有可能它不会因为它们存储索引),但你可以通过反射访问类的属性。
如果您的var
是一个类字段,那么你可以使用静态GetField
的方法从类Type
获取字段信息,比如它的当前值。
你是不是在找简单的数组?
string[] myArray = new string[2];
myArray[0] = "2";
myArray[1] = "this is variable 2"
Otherwhise字典是要走的路。