c# 람다식 예제

c# 람다식 예제

Uncategorized -

C# 람다 식은 대리자 또는 식 트리를 만드는 구문입니다. C# 기능을 만드는 매우 강력한 구문 설탕입니다. 이 부분에서 “Lambda 표현식”은 단순히 “C# 람다 표현식”을 의미합니다. 람다 식의 기본 개념은 이후 장에서 완전히 다룰 것입니다. 모든 람다 식은 대리자 유형으로 변환할 수 있습니다. 람다 식을 변환할 수 있는 대리자 형식은 해당 매개 변수 및 반환 값의 형식에 의해 정의됩니다. 람다 식이 값을 반환하지 않으면 Action 대리자 유형 중 하나로 변환할 수 있습니다. 그렇지 않으면 Func 대리자 유형 중 하나로 변환할 수 있습니다. 예를 들어 두 개의 매개 변수가 있고 값을 반환하지 않는 람다 식은 Action 대리자로 변환할 수 있습니다. 하나의 매개 변수가 있고 값을 반환하는 람다 식은 Func 대리자로 변환할 수 있습니다. 다음 예제에서는 람다 식 x => x * x, x 라는 매개 변수를 지정 하 고 x 제곱 의 값을 반환, 대리자 형식의 변수에 할당 됩니다.: 다음 예제에서 그들을 포함 하 여 여러 입력 매개 변수를 지정 합니다. 괄호. 이 메서드는 값배열의 서수 위치보다 작은 숫자가 발생할 때까지 숫자 배열의 모든 요소를 반환합니다.

각 Expression 개체에는 NodeType 속성및 Type 속성이 있습니다. NodeType은 트리에서 이 노드의 구성을 식별하고 Type은 표현된 .NET 형식입니다. 예를 들어 위의 ParameterExpression은 소스 코드에서 int 매개 변수를 나타내는 매개 변수 노드이므로 NodeType은 매개 변수이고 해당 형식은 int입니다. 특정 클래스의 데이터를 포함하는 컬렉션을 만듭니다. 이 예제에서는 클래스 Dog(속성 이름 및 나이 포함)에서 모든 개 이름이 포함된 목록을 얻으려고 합니다. 키워드 var을 사용하면 컴파일러에게 equals sign의 오른쪽에 할당한 결과에 따라 변수의 형식을 정의하도록 지시합니다. 다음 예제에서는 조건을 충족 하지 않는 시퀀스의 첫 번째 숫자이기 때문에 9 앞에 있는 숫자 배열의 모든 요소를 포함 하는 시퀀스를 생성 합니다. 정의가 복잡하면 호출 코드를 읽기가 어려워집니다. 대리자 형식 또는 식 트리의 인스턴스가 필요한 모든 코드에서 lambda 식을 Task.Run(Action) 메서드에 대한 인수로 사용하여 백그라운드에서 실행해야 하는 코드를 전달할 수 있습니다. 다음 예제와 같이 LINQ 쿼리 식을 작성할 때 람다 식을 사용할 수도 있습니다. 값.

예: C# 언어로 함수의 일류 시민권의 예입니다. 비동기 처리를 통합하는 lambda 식 및 문을 쉽게 만들 수 있습니다. 예를 들어 다음 Windows Forms 예제에는 비동기 메서드인 ExampleMethodAsync를 호출하고 기다리는 이벤트 처리기가 포함되어 있습니다.