相关疑难解决方法(0)

如何在迭代时从通用列表中删除元素?

我正在寻找一个更好的模式来处理每个需要处理的元素列表,然后根据结果从列表中删除.

你不能.Remove(element)在里面使用foreach (var element in X)(因为它导致Collection was modified; enumeration operation may not execute.异常)...你也不能使用for (int i = 0; i < elements.Count(); i++),.RemoveAt(i)因为它会扰乱你在集合中的当前位置i.

有一种优雅的方式来做到这一点?

c# generics loops list key-value

418
推荐指数
15
解决办法
35万
查看次数

在'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万
查看次数

标签 统计

c# ×2

list ×2

.net ×1

enumerable ×1

enumeration ×1

generics ×1

key-value ×1

loops ×1