首页 >后端开发 >C++ >我应该使用``foreach''或`````''或``````foreach''loop在C#中修改列表?

我应该使用``foreach''或`````''或``````foreach''loop在C#中修改列表?

DDD
DDD原创
2025-01-27 13:41:09913浏览

Should I Use a `foreach` or `for` Loop to Modify Lists in C#?

C# 中修改列表:foreach 循环还是 for 循环?

在 C# 4.0 之前的版本中,在 foreach 循环期间修改列表会导致异常。然而,.NET 4.0 引入了对该功能的支持。尽管如此,最佳方法仍然是使用传统的 for 循环。

不可变枚举

foreach 语句使用不可变集合,正如 MSDN 所述:“foreach 语句……不能用于添加或删除源集合中的项,以避免不可预测的副作用。”

for 循环解决方案

要在迭代列表的同时修改它,建议切换到 for 循环:

<code class="language-csharp">for (var i = 0; i < list.Count; i++)
{
    // 修改 list[i]
}</code>

这种方法允许在不遇到错误或意外行为的情况下进行迭代和修改。

并发集合异常

请注意,问题中引用的博客提到此异常不适用于 .NET 4.0 中引入的并发集合。但是,仍然建议使用 for 循环进行列表修改,因为它是推荐的且最可靠的技术。

以上是我应该使用``foreach''或`````''或``````foreach''loop在C#中修改列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn