C# Lambda
개요
얼기설기 쓰던 람다. 도대체 무엇일까? 궁금하면 공식 문서를 보자. https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-operator
문법
input parameter => function body
람다 오퍼레이터
- name : lambda declaration operator
- notation : =>
- 타입 : 이항연산자
- 피연산자 구성 :
- 왼쪽 - 입력 파라메터
- 오른쪽 - 함수 본문 -함수 본문은 expression과 statement로 표현할 수 있다.
function body = lambada expression
- 다음과 같은 구성을 가지며, expression 결과를 return 한다.
return이 제일 헷갈렸는데... expression의 수행 결과를 던진다.(input-parameters) => expressionex)(string name) => name.startsWith("Kim");
function body = lambada statement
- 복수 다음과 같은 구성을 가진다.(input-parameters) => { <sequence-of-statements> }ex)(string name) => {string hello = $"hello, {name}!";Console.WriteLine(hello);//return name; 가능!}
LINQ 문법 예제
string[] words = { "bot", "apple", "apricot" };int minimalLength = words.Where(w => w.StartsWith("a")).Min(w => w.Length);Console.WriteLine(minimalLength); // output: 5
참고
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-operator