728x90
반응형
C#에서 데이터를 간결하고 효율적으로 처리하는 핵심 문법 중 하나는 **람다식(Lambda)**과 **LINQ(Language Integrated Query)**입니다. 이번 글에서는 이 두 가지 개념을 깊게 이해하고 실전에서 활용하는 법을 정리해봅니다.
1. 람다식(Lambda Expression)이란?
익명 메서드를 더 간편하고 읽기 쉽게 만든 표현식
람다식 기본 형태
(매개변수) => 표현식 또는 코드 블록
사용 예시
// 두 수의 합을 구하는 람다식
Func<int, int, int> add = (a, b) => a + b;
Console.WriteLine(add(5, 3)); // 출력: 8
// 문자열 출력하는 Action 람다식
Action<string> greet = name => Console.WriteLine($"Hello, {name}");
greet("Alice"); // 출력: Hello, Alice
2. LINQ(Language Integrated Query)란?
데이터 질의를 선언적이고 간결하게 표현할 수 있도록 도와주는 C# 내장 쿼리 기능
LINQ의 기본 사용법
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
// 짝수만 필터링하고, 제곱값을 구하기
var squares = numbers
.Where(n => n % 2 == 0)
.Select(n => n * n);
foreach (var square in squares)
Console.WriteLine(square); // 출력: 4, 16, 36
3. LINQ 주요 메서드 정리
메서드 설명 사용 예시
Where | 조건 필터링 | .Where(x => x > 5) |
Select | 데이터 변환 | .Select(x => x * 2) |
OrderBy / ThenBy | 데이터 정렬 | .OrderBy(x => x) |
GroupBy | 데이터 그룹화 | .GroupBy(x => x.Category) |
First, FirstOrDefault | 첫 번째 요소 반환 | .FirstOrDefault(x => x.Id == 1) |
4. 실전 예제: LINQ로 데이터 처리하기
class Product
{
public string Name { get; set; }
public int Price { get; set; }
}
List<Product> products = new List<Product>
{
new Product { Name = "사과", Price = 1500 },
new Product { Name = "바나나", Price = 1000 },
new Product { Name = "체리", Price = 3000 },
new Product { Name = "딸기", Price = 2000 },
};
// 가격이 2000원 이상인 제품의 이름만 추출하여 정렬
var expensiveProducts = products
.Where(p => p.Price >= 2000)
.OrderBy(p => p.Price)
.Select(p => p.Name);
foreach (var name in expensiveProducts)
Console.WriteLine(name);
📌 출력:
딸기
체리
요약
- 람다식은 코드를 간결하게 작성할 수 있는 익명 메서드 표현법
- LINQ는 데이터를 질의하고 가공하는 강력한 도구로, 다양한 컬렉션에서 유용하게 사용됨
728x90
반응형
'개발이야기' 카테고리의 다른 글
C# 언어 심화 4편 – Span과 ReadOnlySpan 고성능 처리 방법 (16) | 2025.04.25 |
---|---|
C# 언어 심화 3편 – 익명 타입과 dynamic 활용법 (8) | 2025.04.25 |
C# 언어 심화 1편 – delegate와 event 실전 응용 (8) | 2025.04.24 |
자료구조 시리즈 11편 (6) | 2025.04.23 |
자료구조 시리즈 10편 (2) | 2025.04.22 |