=> 연산자(C# 참조)
=> 토큰을 람다 연산자라고 합니다. 이 연산자를 람다 식에 사용하여 오른쪽의 람다 본문과 왼쪽의 입력 변수를 구분합니다. 람다 식은 익명 메서드와 비슷한 인라인 식이지만 보다 유연하며 메서드 구문으로 표현되는 LINQ 쿼리에서 광범위하게 사용됩니다. 자세한 내용은 람다 식(C# 프로그래밍 가이드)을 참조하십시오.
string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min(w => w.Length);
Console.WriteLine(shortestWordLength);
// Output: 5
설명
=> 연산자는 "이동" 연산자라고 합니다. 위 예제의 식은 "Min w goes to w dot Length"라고 읽습니다.
=> 연산자는 할당 연산자(=)와 우선 순위가 같으며 오른쪽 결합성이 있습니다.
입력 변수의 형식을 명시적으로 지정하거나 컴파일러에서 유추할 수 있게 할 수 있습니다. 어떤 경우든 변수는 컴파일 타임에 강력하게 형식화됩니다. 형식을 지정할 경우에는 다음 예제와 같이 형식 이름과 변수 이름을 괄호로 묶어야 합니다.
int shortestWordLength = words.Min((string w) => w.Length);
이 항목의 뒷부분에 나오는 예제와 같이 여러 입력 변수는 괄호로 묶습니다.
예제
다음 예제에서는 두 개의 입력 변수가 있는 표준 쿼리 연산자 Enumerable.Where의 람다 식을 작성하는 방법을 보여 줍니다. 이 식은 길이가 배열의 해당 인덱스 위치보다 작은 모든 문자열을 반환합니다.
string[] digits = { "zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
foreach (var sD in shortDigits)
{
Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine