現時点では、文字列の名前に応じてアクセスする複数のテキストブロックがあります。以下の例を見て:あなたが見ることができるように、私は「名前」の値は随時変更される可能性があるため、私はこれをやっている理由があるなどテキスト1、テキスト2に、アクセスしようとしていますC#:オブジェクト参照の名前としての文字列値の使用
TextBlock test1 = new TextBlock();
TextBlock test2 = new TextBlock();
TextBlock test3 = new TextBlock();
TextBlock test4 = new TextBlock();
public static void changeValues()
{
string name = "test";
for (int i = 1; i < 5; i++)
{
[name + i].Text = "Wow";
}
}
ので、Iこのコードを再利用することができます。また、 "i < 5"を "i < number"にして、メソッドが引数の1つとしてintを取るようにすることもできます。問題は実際にはうまくいかないことです。私は名前が与えるTextBlockへの参照になるために文字列名が必要です。どんな助けもありがとう!
なぜ代わりに配列を使用することではありませんか? – PetSerAl
なぜ何のための配列と正確に? – Saghen
'[name + i] .Text = "Wow"という行に問題がありますか?もしそうなら、あなたはこのようなコントロールにアクセスすべきではありません。代わりに、 this.Controls [name + i] .Text = "Wow"を試してください。 – Bharathi