본문 바로가기
C#

[C#] 람다 식, 화살표, Lambda, Arrow Function

by ifhead 2023. 5. 14.
반응형

개요

최신 C#은 더 깨끗하고 간결한 코드를 작성하는 방법을 끊임없이 찾고 있습니다. 이 목표를 달성하는 데 도움이 되는 기능 중 하나는 화살표 기능입니다. 이 블로그 게시물에서는 C# 화살표 함수가 무엇인지, 어떻게 작동하는지, 왜 개발자에게 유익한지 살펴보겠습니다.

 

화살표 함수란?

  • C# 6.0에서 도입되었습니다.
  • 람다 식이라고도 합니다.
  • 화살표 함수는 C#에서 익명 함수를 정의하기 위한 간단한 구문을 제공합니다.
  • 이후 특히 대리자, 함수형 프로그래밍 및 비동기 작업으로 작업할 때 코드를 단순화하기 위한 인기 있는 선택이 되었습니다. 

 

장점

  • 가독성:  짧고 단순한 함수 정의의 경우 코드 가독성을 향상시킵니다. 
  • 생산성 향상: 화살표 함수는 명시적인 반환문을 없애 프로그래밍 생산성을 높입니다. 
  • 코드 유지 관리: 코드를 이해하고 유지 관리하기 쉽게 만듭니다. 

 

구문과 용례

1. 단순화

int Square(int x)
{
    return x * x;
}

//-----------------

int Square(int x) => x * x;

//-----------------

int Square = (int x) => x * x;

 

2. 델리게이트

Where, Select 또는 OrderBy와 같은 LINQ 메서드를 사용할 때 화살표 함수를 사용하면 아래와 같이 조건자 또는 프로젝션을 쉽게 정의할 수 있습니다.

var evenNumbers = numbers.Where(x => x % 2 == 0);
var squaredNumbers = numbers.Select(x => x * x);
var sortedNames = names.OrderBy(name => name.Length);

 

3. 비동기 작업

button.Click += async (sender, e) =>
{
    await DoSomethingAsync();
    // Other code
};

 

4. 로컬 함수

C# 7.0 버전부터 지원합니다.

class Program
{
    static void Main(string[] args)
    {
        int sum(int x, int y) => x + y;
        Console.WriteLine(sum(1, 2));
    }
}

 

반응형

댓글