我使用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
}
答案 0 :(得分:3)
你需要:
foreach (TextBox element in list)
{
element.Text = "5.0";
}
在您的第一个代码示例list[i]
代表TextBox
列表中的单个项目,在您的foreach
循环中,element
代表相同的内容。
IMO,通常是,应避免在foreach
循环中进行修改,最后可能会编写代码,在那里更改实际列表,(不仅仅是属性列表中的一个对象,并以异常结束,&#34;在枚举后修改了集合&#34;。
答案 1 :(得分:2)
仅使用element
foreach (TextBox element in list)
{
element.Text = "5.0";
}