728x90
C++에서는 map
C#에서는 Dicrionary로 사용되는 컨테이너.
foreach문의 개념만 알고 있다면 Dictionary를 돌리면서 key 와 value를 얻어오는 과정은 어렵지 않다.
가장 기본적인 내용부터 보자면
Dictionary<> 컨테이너의 foreach 변수(?)는 KeyValuePair다.
foreach(KeyValuePair<string,bool> itemsin Dic)
{
Console.WriteLine("{0} , {1}", items.Key, items.Value);
}
근데 여기서 주의해야 할 점은,
foreach문 안에서 원본 Dictionart<>에 해당하는 Dic의 Key와 Value값을 수정하려고 하면 에러가 난다.
즉, 억지로 편집하려고 하면 안된다.
예를 들어서, 이런식으로.
foreach(KeyValuePair<string,bool> itemsin Dic)
{
Dic[items.Key] =true;
}
foreach는 Dictionary<> 컨테이너로부터 값을 얻어오는 역할이지,
에디터 역할은 아니다.
Dictionary<> 값을 바꾸고 싶다면 for문이 적합하다.
for문으로 Dictionary<> 돌리기.
for(int i =0; i< Dic.Count; i++)
{
if(Dic.Keys.ToList()[i] == name)
{
Dic[name] = bCheck;
}
else if(Dic.Values.ToList()[i] ==true)
{
Dic[name] = bCheck;
}
}
for문으로 루프를 돌려주면서 조건문 안에서는 Keys와 Values들의 List를 불러와 해당 컨테이너의 원하는 값을 가져온다.
foreach와 같은 역할이다.
for문 안에서는 Dictionary<> 컨테이너의 수정이 가능하니 참고하길 바란다.
'개발언어 > C#' 카테고리의 다른 글
[C#] Dictionary 사용 예제 (0) | 2020.12.22 |
---|---|
[C#] 키(Key)와 값(Value)을 가진 Dictionary 사용 방법 및 예제 (0) | 2020.12.22 |
[C#] ListView 선택시 레코드값 받아오기 (0) | 2020.12.22 |
[C#] ESC로 창닫기 (0) | 2020.12.18 |
[C#] 에서 마우스 휠 이벤트 발생시키기 (0) | 2020.12.11 |