[C# 문법] Dictionary List 컬렉션 Linq Join 메서드식으로 표현하기
- C#/C# 문법
- 2021. 7. 7. 00:00
소개
안녕하세요. 오늘은 C# 문법에 대해서 알려 드리려고 합니다. Linq 구문에 대해서 알려 드리려고 하는데요. Linq 구문은 크게 2가지 방법이 있습니다. 일반 SQL 구문과 비슷한 쿼리식이 있고, 다른 하나는 Method 식이 있습니다. 오늘은 Linq 구문을 메서드 식으로 이용하여 서로 다른 2개의 컬렉션을 Join 하여 데이터를 다루는 방법에 대해서 보여 드리도록 하겠습니다.
예제로 작성할 코드는 1개의 Dictionary, 1개의 List 각각 다른 컬렉션이 있고 서로 다른 2개의 컬렉션을 하나의 공통된 필드를 선택하여 Join 하여 새롭게 데이터를 조회하는 방법을 보여 드리도록 하겠습니다. 해당 방법을 익히시게 되면 다른 부분에서도 응용이 가능하기 때문에 한번쯤은 코드를 따라 익히시면서 본인 것으로 만드는 것을 추천 드리겠습니다. 그럼 바로 예제 코드를 작성해 보도록 하겠습니다.
예제 코드
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, string> dictionary = new Dictionary<string, string>
{
{ "1", "chip1" },
{ "2", "chip2" },
{ "3", "chip3" }
};
List<Student> list = new List<Student>()
{
new Student() {NAME = "1" , GRADE = "1"},
new Student() {NAME = "2" , GRADE = "2"},
new Student() {NAME = "3" , GRADE = "3"}
};
dictionary.Join(list,
dic => dic.Key,
li => li.NAME,
(dic, li) => new
{
Key = dic.Key,
Value = dic.Value,
Name = li.NAME,
GRADE = li.GRADE
}).ToList().ForEach(x =>
{
dictionary[x.Key] = x.Name;
});
foreach (var item in dictionary)
{
Console.WriteLine($"Key : {item.Key} Value = {item.Value}");
};
}
}
public class Student
{
public string NAME { get; set; }
public string GRADE { get; set; }
}
}
실행 결과
Key : 1 Value = 1
Key : 2 Value = 2
Key : 3 Value = 3
- 위와 같이 Linq 를 메서드식으로 Join 하여 다뤄보았습니다.
728x90
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# 특정 문자열 기준 맨 끝에서 자르기 (0) | 2021.07.15 |
---|---|
[C# 문법] 문자열 비교 string.Compare 이용하여 대소문자 비교하기 (0) | 2021.07.12 |
[C# 문법] Dictionary Linq 이용하여 Value 변경하기 (0) | 2021.07.06 |
[C# 문법] Dictionary<key, Dcitionary<<T>,<T>> 이중 Dictionary Linq 사용 방법 (0) | 2021.07.03 |
[C# 문법] 서로 다른 2개의 List 중복 검사 하는 방법 (0) | 2021.06.21 |
이 글을 공유하기