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) => expression
    ex)
    (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