这应该是一个简单的问题。我只想知道是否有更好的编码方式。我想为每个数组执行一个 foreach 循环,而不必重新声明 foreach 循环。有没有办法 c# 项目这个?我在考虑将其放入收藏中...?
请批评我的代码。
foreach (TextBox tb in vert)
{
if (tb.Text == box.Text)
conflicts.Add(tb);
}
foreach (TextBox tb in hort)
{
if (tb.Text == box.Text)
conflicts.Add(tb);
}
foreach (TextBox tb in cube)
{
if (tb.Text == box.Text)
conflicts.Add(tb);
}
最佳答案
您可以使用 LINQ:
conflicts.AddRange(
vert.Concat(hort).Concat(cube)
.Where(tb => tb.Text == box.Text)
);
我假设 conflicts
是 List<TextBox>
, 它有一个 AddRange
方法。如果不是,您需要调用 Add
在一个(单个)循环中。
如果您正在创建 conflicts
, (或者如果它开始为空),你可以调用 .ToList()
相反。
关于c# - 来自多个数组的foreach循环c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2950450/