본문 바로가기

C#/Dictionary

딕셔너리의 LINQ와 foreach 활용

딕셔너리에 있는 모든 요소를 꺼낸다

 

배열이나 리스트와 마찬가지로 foreach문을 사용해 딕셔너리에 저장돼 있는 모든 요소를 꺼낼 수 있다.

foreach로 꺼낼 수 있는 요소의 형은 KeyValuePair<TKey, TValue>형이다.

등록한 순서로 나온다는 보장이 없어 주의가 필요하다.

 

foreach를 사용할 수 있다는 것은 LINQ를 사용할 수 있다는 말이다.

 

[딕셔너리의 LINQ]

var average = itemDict.Average(x => x.Value);    //Value의 평균을 구한다.
int total = itemDict.Sum(x => x.Value);    //Value의 을 구한다.
var items = itemDict.Where(x => x.Key.Length > 5);    //Where 메서드요소를 필터링

 

 

딕셔너리에 있는 모든 키를 꺼낸다

 

딕셔너리에 저장된 키만 꺼낼 수 있다.

Dictionary<TKey, TValue>클래스에 있는 Keys 속성을 이용하면 딕셔너리에 저장된 모든 키를 열거할 수 있다.

foreach(var key in itemDict.Keys)    //꺼내는 순서는 정해져 있지 않다.
    Console.WrtieLine(key);