C#의 LINQ Join으로 고객과 주문 데이터 합치기
이 레슨에서는 LINQ Join으로 고객 번호를 기준으로 고객 목록과 주문 목록을 합칩니다.
소개
관련된 데이터는 고객 목록과 주문 목록처럼 서로 다른 리스트에 나뉘어 있는 경우가 많습니다. LINQ의 Join 메서드는 데이터베이스의 JOIN처럼 공통 키를 기준으로 두 리스트를 합칩니다.
Join 메서드는 네 가지 매개변수를 받습니다. 합칠 리스트, 고객의 키를 얻는 방법(c => c.Id), 주문의 키를 얻는 방법(o => o.CustomerId), 그리고 짝이 맞는 각 쌍으로 결과를 만드는 방법입니다. 각 주문은 같은 번호의 고객과 짝지어져 Ada: 25 | Lin: 40이 됩니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
using System.Linq;
record Customer(int Id, string Name);
record Order(int CustomerId, decimal Total);
class Program
{
static void Main()
{
var customers = new[] { new Customer(1, "Ada"), new Customer(2, "Lin") };
var orders = new[] { new Order(2, 40m), new Order(1, 25m) };
var rows = customers.Join(orders, c => c.Id, o => o.CustomerId, (c, o) => $"{c.Name}: {o.Total}");
Console.WriteLine(string.Join(" | ", rows));
}
}
Ada: 25 | Lin: 40디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지