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 자료형
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (723) N
      • 상품 추천 (223) N
      • MongoDB (4)
      • 하드웨어 (15) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (13)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (41)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바