C\#lambda 표현 식 원리 정의 및 실례 상세 설명

1439 단어 C#lambda표현 식
정의:"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 = x => x+lamValue;
이렇게 하면 외부 변수의 값 이 변동 할 때 sum 의 결과 에 도 영향 을 줄 수 있 기 때문에 위험 합 니 다.
lambda 내부 실현 과정
컴 파 일 러 는 외부 변 수 를 전달 하 는 구조 함수 가 있 는 익명 클래스 를 만 들 것 입 니 다.

public class AnonymousClass{
  public int lamValue;
  public AnonymousClass(int lamValue){
    this.lamValue = lamValue;
  }
  public int AnonymousMethod(int x) => x+lamValue;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기