首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在“foreach”循环中修改列表的最好方法是什么?

在“foreach”循环中修改列表的最好方法是什么?
EN

Stack Overflow用户
提问于 2009-04-17 10:48:54
回答 9查看 146.5K关注 0票数 96

C# / .NET 4.0中的一个新特性是,您可以在foreach中更改可枚举值,而不会出现异常。有关此更改的信息,请参阅Paul Jackson的博客条目。

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

代码语言:javascript
复制
foreach(var item in Enumerable)
{
    foreach(var item2 in item.Enumerable)
    {
        item.Add(new item2)
    }
}

foreach结束之前,我通常会使用IList作为缓存/缓冲区,但是有没有更好的方法呢?

EN

回答 9

Stack Overflow用户

发布于 2009-04-17 10:56:49

复制枚举,在本例中使用IEnumerable扩展方法,并对其进行枚举。这会将每个内部可枚举中的每个元素的副本添加到该枚举中。

代码语言:javascript
复制
foreach(var item in Enumerable)
{
    foreach(var item2 in item.Enumerable.ToList())
    {
        item.Add(item2)
    }
}
票数 15
EN

Stack Overflow用户

发布于 2009-04-28 23:36:16

如上所述,但是使用了代码示例:

代码语言:javascript
复制
foreach(var item in collection.ToArray())
    collection.Add(new Item...);
票数 8
EN

Stack Overflow用户

发布于 2009-04-17 10:51:32

在这种情况下,您真的应该使用for()而不是foreach()

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/759966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档