주 메뉴 열기

wwiki β

바뀜

CSharp

868 바이트 추가됨, 2021년 2월 18일 (목) 03:09
람다식(Lambda Expression)
순차접근 가능(MoveNext()), 접근위치를 내부적으로 가지고 있다.
== 람다식(Lambda Expression(람다 표현식) ==LISP에 들어 있다. λxyㆍplus(x, y) 처럼 함수를 사용하는 변수를 명시하는 표기방법이다. λ(람다)는 그리스 문자로 물리에서는 소립자의 하나이고, 부피의 단위로 100만분의 1을 나타내기도 한다. c#에서 람다표현식을 사용해서 익명함수를 만든다. => : 람다 선언 연산자이다. (매개변수input-parameter, ...) => expression  (input-parameters) => { <sequence-of-statements> }<syntaxhighlight lang="c#">
class Program
{
</syntaxhighlight>
=== Func Action 대리자 ===<syntaxhighlight lang="c#">Func<int> func = () => 10; // 10을 반환int ten = func(); Func<int, int> square = (x) => x*x;Cosole람다 식에서 값을 반환하지 않는 경우 Action 대리자 형식 중 하나로 변환할 수 있다.Write(square(10)); // 100출력</syntaxhighlight> === Action ===<syntaxhighlight lang="c#">
Action hello = () => Console.WriteLine("Hello");
hell();
</syntaxhighlight>매개변수가 2개이고 값을 반환하지 않는 람다식은 Action<T1, T2>대리자로 변환할 수 있다.<syntaxhighlight lang="c#">
Action<int, int> showSum = (x, y) =>
{
}
showSum(1, 2);
</syntaxhighlight>
 
=== Func 대리자 ===
값을 반환하는 경우 Func대리자 형식으로 변환할 수 있다.
 
매개변수가 하나이고 값을 반환하는 람다식은 Func<T, TResult> 대리자로 변환할 수 있다. <syntaxhighlight lang="c#">
Func<int> func = () => 10; // 10을 반환
int ten = func();
 
Func<int, int> square = (x) => x*x;
Cosole.Write(square(10)); // 100출력
</syntaxhighlight>
편집
2,431