首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将项添加到循环集合时的Foreach

将项添加到循环集合时的Foreach
EN

Stack Overflow用户
提问于 2009-09-15 08:41:57
回答 7查看 6.5K关注 0票数 2

情况是这样的:

我正在浏览一些代码,我想知道下面的语句是接受所选集合的引用,还是在foreach循环结束时用来替换原始对象的副本。如果是第一个,它会将新找到的页面加入到循环中吗?

代码语言:javascript
运行
复制
foreach(Page page in Pages)
{
    page.AddRange(RetrieveSubPages(page.Id));
}

编辑:对不起,我打错了。

应该是这样的:

代码语言:javascript
运行
复制
foreach(Page page in pages)
{
    pages.AddRange(RetrieveSubPages(page.Id));
}

我想说的是,如果我将一些对象添加到枚举集合中,它会在foreach中联接这些对象吗?

EN

Stack Overflow用户

发布于 2009-09-15 08:46:55

在大多数情况下,foreach针对实时集合(无显式克隆)工作,如果您在枚举集合时尝试更改集合,则枚举器会中断并引发异常。因此,如果您要添加到Pages中,请预料到会出现问题。

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

https://stackoverflow.com/questions/1425932

复制
相关文章

相似问题

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