【问题标题】:Using a foreach loop to loop through a list of TextBoxes [closed]使用foreach循环遍历TextBoxes列表[关闭]
【发布时间】:2014-07-13 06:55:36
【问题描述】:

我使用 for 循环解决了这个问题,但是当我尝试使用 foreach 循环时,我得到一个无法将 TextBox 转换为 int 的问题。我没有使用很多 foreach 循环,我做错了什么?

这行得通

for (int i = 0; i < list.Count; ++i)
{
    list[i].Text = "5.0";
}

如何让它工作

foreach (TextBox element in list)
{
    list[element].Text = "5.0";   //get Error her
}

【问题讨论】:

  • 并解释反对意见:您的问题非常简单,只需在 Google 上搜索“c# foreach”即可为您提供答案。
  • 当您说foreach (TextBox element in list) 时,您实际上得到了列表中的每个TexBox

标签: c# foreach


【解决方案1】:

你需要:

foreach (TextBox element in list)
{
    element.Text = "5.0";
}

在您的第一个代码示例中,list[i] 表示列表中的单个项目 TextBox,在您的 foreach 循环中,您有相同的 element

IMO,通常,应避免在 foreach 循环中进行修改,您最终可能会编写代码,在其中更改实际列表,(不仅仅是对象的属性列表中),并以异常“枚举后修改集合”结束。

【讨论】:

  • 感谢您的解释。
【解决方案2】:

只使用element

foreach (TextBox element in list)
{
    element.Text = "5.0";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多