람다식 Lambda Expressions

Gogi·2023년 9월 8일

C# 언어 기초 목록

목록 보기
21/29

람다 식(Lambda Expression)은 C#에서 무명 메서드를 정의하는 간결한 문법이다. 주로 짧은 코드 블록을 매개변수로 전달할 때 사용된다.


개념 설명

람다 식은 간결하고 읽기 쉬우며, 주로 단순한 연산이나 로직을 빠르게 표현할 때 사용된다. 하지만 복잡한 로직이나 여러 줄의 코드가 필요한 경우에는 일반적인 메서드를 사용하는 것이 더 적절하다.

기본 구조

(parameters) => expression-or-statement-block

- 표현식 람다 (Expression Lambda)

Func<int, int> square = x => x * x;

int result = square(5);  // 결과는 25

- 문장 람다 (Statement Lambda)

Action<string> greet = name => 
{
    string greeting = "Hello, " + name;
    Console.WriteLine(greeting);
};

greet("John");  // 출력은 "Hello, John"

- 여러 매개변수를 가질 수 있음

Func<int, int, int> add = (a, b) => a + b;

int sum = add(3, 4);  // 결과는 7

- 타입 추론 (명시적으로 지정도 가능)

Func<int, int> square = (int x) => x * x;

C++ 람다와 유사점

C++ 람다와 C#의 람다는 많은 부분이 다르지만 C++의 [&] 람다는 외부 변수를 참조로 캡쳐할 수 있다는 점, 해당 변수가 변경되면 람다 내에서도 반영된다는 점에서 비슷하다. 하지만 사용 방식이 유사하더라도 차이점이 존재하며, 언어적 특성과 내부 구현 또한 다르므로 주의해야한다.

profile
C, C++, C#, Unity

0개의 댓글