C#에서 LINQ로 상품 데이터 걸러 내고 고르기
이 레슨에서는 LINQ 쿼리를 이어 붙여 조건에 맞는 상품을 걸러 내고, 정렬하고, 이름만 꺼냅니다.
소개
LINQ 쿼리는 걸러 내기, 정렬, 데이터 선택(프로젝션) 같은 여러 단계를 하나의 흐름으로 이을 수 있습니다. 중요한 점은 쿼리가 원래 리스트를 바꾸지 않고 새 결과만 만든다는 것입니다.
Where는 가격이 20 이상인 상품을 남기고, OrderBy는 가격 오름차순으로 정렬하며, Select는 이름만 꺼냅니다. 결과는 Book, Bag이고, 원래 배열 products에는 여전히 상품 세 개가 모두 들어 있습니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
using System.Linq;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var products = new[] { new Product("Book", 30), new Product("Pen", 5), new Product("Bag", 45) };
var names = products.Where(p => p.Price >= 20).OrderBy(p => p.Price).Select(p => p.Name);
Console.WriteLine(string.Join(", ", names));
}
}
Book, Bag디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
- 선택한 키로 정렬하기 실행 중에 고른 비교자로 사람을 이름이나 나이순으로 정렬하고 동점은 일관되게 처리합니다. 쉬움
- Above-Average Values Keep the values that are greater than the average. 쉬움