다음 코드가 주어지면 Foreach를 사용하여 중첩 열거를 반복 할 때 프로젝트 목록에 프로젝트를 추가하는 가장 좋은 방법은 무엇입니까? 모범 사례 :
MSDN 문서는 Foreach 명령문이 반복 컬렉션에 사용된다고 지적합니다. 소스 컬렉션에 항목을 숨기거나 삭제하지는 않지만 부작용이있을 수 있기 때문에이 동작에 의존하지 말라고 경고합니다. 소스 수집을 수정 해야하는 경우 권장되는 방법은 루프에 사용하는 것입니다. 동시 컬렉션은 비정상적입니다 문제에 인용 된 Paul Jackson 블로그 기사에 따르면 세트는 C# Concurrent Collection에서 허용된다고합니다. 이 예외는 Concurrent Collection의 설정에서 파생되며 다른 방식으로 잠재적 부작용을 처리합니다. 따라서이 규칙은 동시 컬렉션에 적합하지 않습니다. 일반 세트의 경우 잠재적 인 문제를 피하기 위해 사이클을 사용하는 것이 좋습니다.
위 내용은 C#의 Foreach 루프로 반복하는 동안 목록에 항목을 안전하게 추가하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!