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
반응형

+ Recent posts