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
위 내용은 C#에서 목록을 수정하기 위해`foreach` 또는`for` 루프를 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!