相关疑难解决方法(0)

在'foreach'循环中修改列表的最佳方法是什么?

C#/ .NET 4.0中的一个新功能是,您可以在foreach不获取异常的情况下更改您的枚举.请参阅Paul Jackson的博客文章"并发的有趣副作用:在枚举时从集合中删除项目"以获取有关此更改的信息.

执行以下操作的最佳方法是什么?

foreach(var item in Enumerable)
{
    foreach(var item2 in item.Enumerable)
    {
        item.Add(new item2)
    }
}
Run Code Online (Sandbox Code Playgroud)

通常我使用IList一个缓存/缓冲区直到结束foreach,但是有更好的方法吗?

.net c# enumeration list enumerable

68
推荐指数
5
解决办法
10万
查看次数

如何正确地从列表中删除项目

可能重复:
迭代时收集异常并从该集合中删除项目
如何在迭代时从泛型列表中删除元素?
从列表中删除匹配项的更好方法

// tmpClientList is List<Client> type

if (txtboxClientName.Text != "")
    foreach (Client cli in tmpClientList)
        if (cli.Name != txtboxClientName.Text)
            tmpClientList.Remove(cli);
Run Code Online (Sandbox Code Playgroud)

错误:"集合已被修改;枚举操作可能无法执行."

如何以一种简单的方式从列表中删除项目,而不保存这些项目在另一个列表或数组中的索引,并在代码中的其他位置删除它们.尝试了RemoveAt(索引)但它完全相同的情况,修改循环运行时.

c#

6
推荐指数
3
解决办法
2704
查看次数

标签 统计

c# ×2

.net ×1

enumerable ×1

enumeration ×1

list ×1