C# 프로그래밍
[C#] 문 형식의 람다식
같은편
2023. 3. 6. 12:47
2023.02.28 - [C# 프로그래밍] - [C#] 익명 메소드와 람다식
[C#] 익명 메소드와 람다식
2023.02.27 - [C# 프로그래밍] - [C#] 대리자(Delegate) [C#] 대리자(Delegate) C#에서 대리자는 콜백(Callback)을 구현하기 위해 사용됩니다. 콜백이란 어떤 일을 해줄 코드를 만들고, 이 코드가 실행할 이벤트
onesside-world.tistory.com
이전 글에서 예시로 들었던 코드가 있습니다.
BubbleSort(array, delegate(int a, int b)
{
if (a > b)
return 1;
else if (a == b)
return 0;
else
return -1;
});
바로 이것입니다.
그런데 저는 이 것을 람다식으로
BubbleSort(array, (a, b) => a.CompareTo(b));
식 형식의 람다식으로 바꿧습니다.
그런데 여기서 의문과 불편한점이 생깁니다. ComparTo함수를 모르는데 그냥 위의 코드로 코드를 만들면 안되나?
됩니다!
BubbleSort(array, (a, b) => {
if (a > b)
return 1;
else if (a == b)
return 0;
else
return -1;
});
이렇게 문 형식의 람다식으로 바꿧습니다.
문 형식의 람다식은 => 연산자의 오른편에 식 대신 {와 }로 둘러싸인 코드 블록이 위치합니다.
반환 형식이 없는 무명 함수
무슨 뜻이냐면 코드 먼저 보겠습니다.
delegate void Statement();
static void Main(string[] args)
{
Statement Lambda = ( ) =>
{
Console.WriteLine("문");
Console.WriteLine(" 형식의 ");
Console.WriteLine("람다식");
};
Lambda();
};
당연한 이야기지만, 매개변수가 업슨 경우에는 ()에 아무것도 넣지 않습니다.