C\#lambda 표현 식 원리 정의 및 실례 상세 설명
장점:람 다 는 익명 의뢰 의 사용 을 간소화 하고 개발 에 필요 한 코드 의 양 을 줄 였 다.
쓰기:모든 Lambda 표현 식 은 Lambda 연산 자=>를 사용 합 니 다.이 연산 자 는"goes to"로 읽 습 니 다.Lambda 연산 자의 왼쪽 은 입력 매개 변수(있 으 면)이 고 오른쪽 은 표현 식 이나 구문 블록 입 니 다.Lambda 표현 식 x=>x*x 는"x goes to x times x"로 읽 습 니 다.
주:(왼쪽)매개 변 수 를 1 개 로 입력 할 때 작은 괄호 를 생략 할 수 있 습 니 다.(오른쪽)표현 식 이 한 문장 만 있 을 때 큰 괄호 와 return 문 구 를 생략 할 수 있 습 니 다.
구체 적 인 문법 형식 은 다음 과 같다.
수정자 수정자 반환 값 형식 방법 명(매개 변수 목록)=>표현 식 에 접근 하기;
public static int Add(int a, int b) => a + b;
일반 lambda 표현 식 은 의뢰 나 표현 식 트 리 형식 을 만 드 는 데 사 용 됩 니 다.delegate int del(int i);
del myDelegate = x => x*x; //여기 있 는 x 는 int 형식의 매개 변 수 를 대표 합 니 다.c\#는 자동 으로 잠 금 형식 입 니 다.람 다 의 본질은 방법 이다.
폐쇄 하 다
lambda 표현 식 을 통 해 lambda 표현 식 블록 밖의 변 수 를 방문 할 수 있 습 니 다.이것 은 패키지 라 고 합 니 다.
int lamValue = 5;
Func
이렇게 하면 외부 변수의 값 이 변동 할 때 sum 의 결과 에 도 영향 을 줄 수 있 기 때문에 위험 합 니 다.
lambda 내부 실현 과정
컴 파 일 러 는 외부 변 수 를 전달 하 는 구조 함수 가 있 는 익명 클래스 를 만 들 것 입 니 다.
public class AnonymousClass{
public int lamValue;
public AnonymousClass(int lamValue){
this.lamValue = lamValue;
}
public int AnonymousMethod(int x) => x+lamValue;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.