C# 람다 식 : 캡처

2023. 10. 20. 14:10·C#
반응형

C#에서 람다 식은 일회성으로 사용되는 함수를 나타내는 간단한 표현입니다. 람다 식은 다음과 같은 형태로 사용됩니다.

(매개변수) => {

    // ...

    // ...

    // ...

    return 결과;

}

람다 식의 장점

람다 식은 다음과 같은 장점이 있습니다.

  • 코드를 간결하게 작성할 수 있습니다.
  • 코드의 가독성을 높일 수 있습니다.
  • 코드의 재사용성을 높일 수 있습니다.

람다 식의 사용 예

람다 식은 다음과 같은 곳에서 사용할 수 있습니다.

  • Action, Predicate, Func 형식의 매개변수에 전달할 수 있습니다.
  • LINQ 쿼리에서 사용할 수 있습니다.
  • 익명 메서드로 사용할 수 있습니다.

람다식에서 사용되는 캡처

람다 식에서 사용되는 캡처는 람다 식 내부에서 사용할 외부 변수를 가리키는 참조입니다. 람다 식은 일회성으로 사용되는 함수이기 때문에, 람다 식 내부에서 외부 변수를 사용하려면 캡처를 사용해야 합니다.

람다식에서 사용되는 캡처의 종류

람다식에서 사용되는 캡처는 다음과 같은 종류가 있습니다.

  • 값 캡처: 람다 식 내부에서 외부 변수의 값을 가리키는 참조를 생성합니다.
  • 참조 캡처: 람다 식 내부에서 외부 변수의 참조를 가리키는 참조를 생성합니다.
  • 지역 캡처: 람다 식 내부에서 선언된 지역 변수를 가리키는 참조를 생성합니다.

 

람다식에서 사용되는 캡처의 예

// 값 캡처

int number = 10;



(int x) => {

    // 람다 식 내부에서 외부 변수의 값을 가리키는 참조를 생성합니다.

    int n = number;



    // 람다 식 내부에서 외부 변수의 값을 변경할 수 있습니다.

    number = 20;



    // 람다 식 내부에서 외부 변수의 값을 출력합니다.

    Console.WriteLine(n); // 20

}



// 참조 캡처

List<int> numbers = new List<int>();

numbers.Add(10);



(int x) => {

    // 람다 식 내부에서 외부 변수의 참조를 가리키는 참조를 생성합니다.

    List<int> list = numbers;



    // 람다 식 내부에서 외부 변수의 요소를 추가할 수 있습니다.

    list.Add(20);



    // 람다 식 내부에서 외부 변수의 요소를 출력합니다.

    Console.WriteLine(list[0]); // 10

}



// 지역 캡처

int n = 10;



(int x) => {

    // 람다 식 내부에서 선언된 지역 변수를 가리키는 참조를 생성합니다.

    int local = n;



    // 람다 식 내부에서 지역 변수의 값을 변경할 수 있습니다.

    n = 20;



    // 람다 식 내부에서 지역 변수의 값을 출력합니다.

    Console.WriteLine(local); // 10

}
위 코드는 다음과 같은 결과를 출력합니다.
20
10

 

결론

람다 식은 코드를 간결하고 가독하게 작성할 수 있는 유용한 기능입니다. 람다식을 사용할 때에는 캡처를 올바르게 사용해야 합니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.  (1) 2023.10.27
C#의 정적 타입 정보 연산자  (0) 2023.10.26
C#의 HashSet<T>  (0) 2023.10.19
C#의 char 자료형  (0) 2023.10.18
코드 실행시간 측정 : Stopwatch  (3) 2023.10.17
'C#' 카테고리의 다른 글
  • Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.
  • C#의 정적 타입 정보 연산자
  • C#의 HashSet<T>
  • C#의 char 자료형
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    devlife
    C#
    라떼우유
    리스트
    파이썬
    믈레코비타멸균우유
    appdevelopment
    상품 리뷰 크롤링
    programmerlife
    cv2
    Python
    ipcamera
    스크립트 실행 순서
    카페24리뷰이관
    유니티
    learntocode
    스마트스토어리뷰
    codingtips
    쇼핑몰리뷰
    스크립트 실행
    rtsp
    unity
    셀레니움
    카페24리뷰
    긴유통기한우유
    리뷰관리
    codingcommunity
    list
    programming101
    리뷰이관
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C# 람다 식 : 캡처
상단으로

티스토리툴바