일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- List
- FIND
- postgresql
- null
- if
- conda
- Unity
- DROP
- c++11
- SVN
- mysql
- 쉘
- SSH
- with
- awk
- autovacuum
- python
- C++
- expect
- dataframe
- Eclipse
- sqlite
- ubuntu
- sql
- ngui
- pi
- 배열
- pandas
- boost
- Shader
Archives
- Today
- Total
その先にあるもの…
Dictionary value 변경 본문
Dictionary를 루프로 돌리면서 사용할 때 key를 받아서 value를 수정하면 오류가 발생한다.
Dictionary< int, bool > dictionary = new Dictionary<int, bool>(){ {1,false}, {2,false} };
foreach( var s in dictionary.kes )
dictionary[s] = false;
InvalidOperationException: out of sync
key와 value가 한쌍으로 묶여 사용되기 때문에 수정을 할 수 없다고 하는데.
수정하는 방법이
linq를 사용하여
foreach( var key in dictionary.keys.ToList() )
dictionary[key] = true;
문제는 iOS가 Linq를 완벽하게 사용하지 못한다.
또하는
int[] array = new int[ dictionary.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