その先にあるもの…

Dictionary value 변경 본문

프로그래밍/C#

Dictionary value 변경

specialJ 2014. 9. 1. 18:12


Dictionary를 루프로 돌리면서 사용할 때 key를 받아서 value를 수정하면 오류가 발생한다.


Dictionary< intbool > dictionary = new Dictionary<intbool>(){ {1,false}, {2,false} };


foreach( var s in dictionary.kes )

dictionary[s] = false;


InvalidOperationException: out of sync


key와 value가 한쌍으로 묶여 사용되기 때문에 수정을 할 수 없다고 하는데.


수정하는 방법이 

linq를 사용하여 


foreachvar key in dictionary.keys.ToList() )

dictionary[key] = true;


문제는 iOS가 Linq를 완벽하게 사용하지 못한다.


또하는 


int[] array = new intdictionary.Count ];

dictionary.keys.CopyTo(array, 0);

for( int i = 0; i < array.Length; i++ )

dictionary[ array[i] ] = true;



'프로그래밍 > C#' 카테고리의 다른 글

Loop 문에서 list요소 삭제하기  (0) 2014.09.19
클래스가 소멸할 때 멤버변수가 클래스인 것은 null이 되는지 궁금  (0) 2014.09.19
WeakReference  (0) 2014.06.03
CreateInstance, InvokeMember  (0) 2014.04.21
unsafe  (0) 2014.03.28
Comments