2010-06-19 3 views

답변

4

대신 Keys 속성을 반복하십시오. 열거자를 사용하면 기본 컬렉션에 대한 수정으로 인해 다음에 MoveNext을 호출 할 때 열거자를 무효화합니다.

Keys 또는 AllKeys (문자열 배열 임)을 열거하고 매우 정확하게 가리키는 값을 수정할 수 있습니다.

또한 속성은 자체가 읽기 전용이므로 반복기 블록이든 아니든 반성을 남용하지 않고 해당 값을 수정할 수있는 상황은 없습니다.

+0

serhio : 열거 된 값을 수정하기 때문에 사전을 수정할 수없는 이유입니다. Quick Joe Smith가 권장하는대로 키를 사용하면 값을 수정할 수 있지만 foreach 루프에서 키를 추가/제거하지 마십시오. –

+0

강조 표시 해 주셔서 감사합니다. .NET의 대부분의 컬렉션 클래스는 여러 개의 개별 컬렉션으로 구성되어 있다는 사실을 알고 있어야합니다. –

+0

나는 입장의 순서를 알아볼 필요가있다. 1, 10, 3, 5 키를 추가했다고 가정 해 봅시다. 1, 10, 3, 5 같은 순서로 수정해야합니다.이 주문을 존중합니까? – serhio