반응형
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. (0) | 2023.10.27 |
---|---|
C#의 정적 타입 정보 연산자 (0) | 2023.10.26 |
C#의 HashSet<T> (0) | 2023.10.19 |
C#의 char 자료형 (0) | 2023.10.18 |
코드 실행시간 측정 : Stopwatch (2) | 2023.10.17 |