[C# 문법] Dictionary<key, Dcitionary<<T>,<T>> 이중 Dictionary Linq 사용 방법
- C#/C# 문법
- 2021. 7. 3. 11:40
소개
안녕하세요. 오늘은 C# 문법에서 Dictionary 컬렉션을 이용하여 Linq로 데이터를 다루는 방법에 대해서 간단히 알려 드리려고 합니다. 그 중에서도 Dictionary 컬렉션에서 예를들어 Key 혹은 Value 값이 다시 Dictionary 형태 즉, 이중 Dictionary 형태의 데이터를 손 쉽게 가져오는 방법에 대해서 알려 드리겠습니다. 해당 방법을 알고 계시면 여러모로 유용할 것 같더라고요! 그럼 바로 예제 코드를 작성해서 보여 드리도록 하겠습니다.
예제 코드
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{
Dictionary<int, Dictionary<string, string>> dic = new Dictionary<int, Dictionary<string, string>>();
Dictionary<string, string> dic2 = new Dictionary<string, string>
{
{ "29", "범범조조" },
{ "23", "아이유" },
{ "33", "유재석" },
{ "43", "정형돈" },
{ "53", "박명수" }
};
dic.Add(1, dic2);
var result = dic.SelectMany(s => s.Value)
.Select(x => x.Value)
.ToList();
foreach (var item in result)
{
Console.WriteLine($"Value : {item}");
}
// 이름이 유재석인 사람 결과 조회
var nameResult = dic.SelectMany(s => s.Value.Where(w => w.Value.Equals("유재석")))
.Select(x => x.Key)
.ToList();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
foreach (var item in nameResult)
{
Console.WriteLine($"유재석 나이 : {item}");
}
}
}
}
실행 결과
Value : 범범조조
Value : 아이유
Value : 유재석
Value : 정형돈
Value : 박명수
유재석 나이 : 33
- Linq 구문을 통해서 쉽게 이중 Dictionary 컬렉션의 Key, Value 들의 정보를 가져올 수 있습니다.
728x90
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] Dictionary List 컬렉션 Linq Join 메서드식으로 표현하기 (0) | 2021.07.07 |
---|---|
[C# 문법] Dictionary Linq 이용하여 Value 변경하기 (0) | 2021.07.06 |
[C# 문법] 서로 다른 2개의 List 중복 검사 하는 방법 (0) | 2021.06.21 |
[C# 문법] List 컬렉션 데이터 중복 검사 하는 방법 (0) | 2021.06.20 |
[C# 문법] 컬렉션 초기화 구문 (0) | 2021.06.18 |
이 글을 공유하기