質問
これは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辞書には、移動するための方法である。
所属していません StackOverflow