Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 람다 식(Lambda Expression)이란? 개념부터 예제까지 쉽게 이해하기

C#의 람다 식(lambda expression)은 익명 함수를 간결하게 표현하는 패턴으로, 대리자(delegate)나 식 트리(expression tree)에 할당할 수 있는 코드를 정의할 때 사용됩니다. 람다 식은 식(expression) 컨텍스트에서 => 토큰을 사용하며, 이 기호는 "goes to(~로 이동한다)" 연산자라고 읽고 람다 식을 선언할 때 활용됩니다.

람다 식의 기본 구조

람다 식은 일반적으로 다음과 같은 형태를 가집니다.

(입력 매개변수) => 식 또는 문 블록

예를 들어 x => x % 2 == 0은 "x가 주어지면(go), x를 2로 나눈 나머지가 0인지 판별하라"는 의미입니다. 즉, 입력값 x가 짝수인지 확인하는 조건식입니다.

예제

다음 예제는 C#에서 람다 식을 사용하여 리스트에서 첫 번째 짝수의 인덱스를 찾는 방법을 보여줍니다.

using System;
using System.Collections.Generic;

class Demo {
    static void Main() {
        List<int> list = new List<int>() { 21, 17, 40, 11, 9 };
        int res = list.FindIndex(x => x % 2 == 0);
        Console.WriteLine("Index: " + res);
    }
}

실행 결과

Index: 2

코드 설명

위 코드에서는 "goes to" 연산자(=>)를 활용하여 리스트 안에서 짝수의 위치를 찾았습니다.

list.FindIndex(x => x % 2 == 0);

FindIndex 메서드는 지정된 조건자(predicate)를 만족하는 첫 번째 요소의 인덱스를 반환합니다. 여기서 람다 식 x => x % 2 == 0이 조건자 역할을 하며, 리스트의 각 요소 x가 짝수인지 순서대로 검사합니다.

실행 결과는 다음과 같습니다.

Index: 2

짝수 40은 인덱스 2에 위치하며, 이는 리스트에서 세 번째 요소라는 뜻입니다. 이처럼 람다 식을 사용하면 별도의 메서드를 정의하지 않고도 조건 로직을 한 줄로 간결하게 작성할 수 있습니다.