以下のコードは、フォームラベルを「0」にリセットします。好奇心から、リスト内のすべてのアイテムではなく、特定のアイテムのみにアクセスする方法を見つけようとしています。foreach関数はここではうまく機能しますが、コードの他の部分では、これらのオブジェクトに異なる方法でアクセスして変更したいと思います
たとえば、1つおきのフィールドを「0」に設定したり、最後または最初の3つだけを何らかの値に設定したりするにはどうすればよいでしょうか。
// Set the form Labels to "0"
private void btnClear_Click(object sender, EventArgs e)
{
// Create List of Labels for modifying form
new List<Label>() { lbl1, lbl2, lbl3, lbl4, lbl5, lbl6 }.ForEach(p => p.Text = "0");
}
ありがとうございました
アップデート:
たくさん読んでテストした後、リスト内の他のすべての項目を選択するための最も基本的な方法に戻りました。
// Set the form Labels to "0"
private void btnClear_Click(object sender, EventArgs e)
{
// Create List of Labels for modifying form
List<Label> lbl = new List<Label>() { lbl1, lbl2, lbl3, lbl4, lbl5, lbl6 };
int x =1; // Set to get every other label. 0 = even, 1 = odd
while (x < lbl.Count)
{
lbl[x].Text = "0";
x = x + 2;
}
@ジョナサンウッドはこれに方法があります
items.ForEach(p => { some code(), p.Text = "0"; });