C#의 람다 식 및 익명 함수란?

C Ui Lamda Sig Mich Igmyeong Hamsulan



람다 식과 익명 함수는 개발자가 간결하고 효율적이며 읽기 쉬운 코드를 작성할 수 있게 해주는 C#의 두 가지 강력한 개념입니다. 이러한 기능을 통해 개발자는 별도의 메서드를 선언할 필요 없이 인라인 함수를 작성할 수 있습니다. 이 문서에서는 C#의 람다 식과 익명 함수에 대해 설명하고 각각에 대한 별도의 예제를 제공합니다.

C#에서 람다 식이란?

Lambda 식은 별도의 메서드를 선언할 필요 없이 메서드를 인라인으로 정의하는 짧고 간결한 방법입니다. 본질적으로 변수에 할당하거나 매개 변수로 사용할 수 있는 익명 메서드입니다. C#의 람다 식은 '=>' 연산자로 표시되며 'goes to' 연산자로 읽습니다.

Lambda 표현식의 구문은 다음과 같습니다.







( 매개변수 ) => 표현

여기서 매개변수는 함수에 대한 입력이고 식은 함수의 출력입니다. 다음 예에서는 람다 식을 사용하여 숫자의 제곱을 계산하는 방법을 보여줍니다.



정수 정사각형 = ( 엑스 ) => 엑스 * 엑스 ;

이 예에서 Lambda 표현식은 입력 매개변수 x를 사용하고 x의 제곱을 반환합니다. Lambda 표현식의 결과는 변수 square에 할당되며 다음은 이 예제의 전체 코드입니다.



시스템 사용 ;

수업 프로그램 {

공전 무효의 기본 ( [ ] 인수 ) {

기능 < 정수 , 정수 > 정사각형 = 엑스 => 엑스 * 엑스 ;

콘솔. WriteLine ( 정사각형 ( 6 ) ) ;

}

}

이 예에서는 정수 입력 매개변수 x를 사용하고 해당 제곱을 반환하는 람다 식을 정의합니다. Func 유형은 Lambda 표현식이 정수 입력 매개변수를 취하고 정수 값을 반환하도록 정의합니다. 이 람다 식을 제곱 변수에 할당한 다음 입력 값 6으로 호출하고 출력은 36이 됩니다.





익명 함수 C#이란?

익명함수는 이름이 없는 함수로서 별도의 메소드를 선언하지 않고 인라인으로 정의하여 호출하는 일종의 람다식이다. C#의 익명 함수는 'delegate' 키워드로 표시되며 특정 서명이 있는 새 메서드를 선언하는 데 사용되며 익명 함수의 구문은 다음과 같습니다.



대리자 ( 매개변수 ) { 표현 }

여기서 매개변수는 함수에 대한 입력이고 식은 함수의 출력입니다. 다음 예에서는 익명 함수를 사용하여 두 숫자의 합을 계산하는 방법을 보여줍니다.

대리자 ( 정수 , 정수 ) { 반품 + ; }

이 예에서 Anonymous 함수는 두 개의 입력 매개변수 x와 y를 사용하고 f와 g의 합을 반환합니다.

시스템 사용 ;

수업 프로그램 {

공전 무효의 기본 ( [ ] 인수 ) {

기능 < 정수 , 정수 , 정수 > 합집합 = 대리자 ( 정수 에프 , 정수 g ) { 반품 에프 + g ; } ;

콘솔. WriteLine ( 합집합 ( 2 , ) ) ;

}

}

이 예에서는 두 개의 정수 입력 매개변수 x 및 y를 사용하고 그 합계를 반환하는 익명 함수를 정의합니다. sum 변수를 Func 유형으로 선언합니다. 이 유형은 함수가 두 개의 정수 입력 매개변수를 받고 정수 값을 반환하도록 지정합니다. 우리는 delegate 키워드를 사용하여 함수를 정의한 다음 입력 값 2와 3으로 호출합니다. 출력은 5입니다.

결론

람다 식과 익명 함수는 개발자가 간결하고 효율적이며 읽기 쉬운 코드를 작성할 수 있게 해주는 C#의 강력한 개념입니다. 람다식은 별도의 메서드를 선언할 필요 없이 인라인 메서드를 정의하는 데 사용되는 반면, 익명 함수는 별도의 메서드를 선언할 필요 없이 인라인 함수를 정의하고 호출하는 데 사용됩니다. delegate (int x, int y) { return x + y; }. 두 개념 모두 효율적이고 유지 관리 가능한 코드를 작성하려는 모든 C# 개발자에게 필수적인 도구입니다.