首頁 > 後端開發 > C++ > 如何安全地修改C#中嵌套的' foreach”循環中的列表?

如何安全地修改C#中嵌套的' foreach”循環中的列表?

Susan Sarandon
發布: 2025-01-27 13:21:10
原創
791 人瀏覽過

How to Safely Modify Lists Inside Nested `foreach` Loops in C#?

在C#中安全修改foreach循環內的列表

在C#/.NET 4.0中,可以在foreach循環期間修改可枚舉物件而不會遇到異常。 Paul Jackson的部落格文章對此進行了詳細討論。

然而,一個常見的問題出現了:修改foreach循環內的列表,尤其是在嵌套foreach場景中,最佳方法是什麼?

傳統上,IList通常用作快取或緩衝區,以累積更改,直到外部foreach循環結束。但是還有更好的替代方案嗎?

解答

必須注意,在foreach循環中迭代的集合在設計上是不可變的。如MSDN文件中所述,foreach旨在存取數據,而不是修改來源集合以防止不可預測的副作用。

如果需要新增或刪除來源集合或刪除項目,建議改用for循環。這確保了對集合進行可預測和受控的修改。

Poko連結的部落格文章表明,此限制可能不適用於C#/.NET 4.0中引入的並發集合。

以上是如何安全地修改C#中嵌套的' foreach”循環中的列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板