반응형
람다식에 대해 알아봅니다.
람다식의 일반 구문은 다음과 같습니다.
람다 식 |
member => expression; |
예제 1
람다식(=>)을 이용해서 메서드를 간단하게 표현할 수 있습니다.
internal class Program
{
static void Hi()
{
Console.WriteLine("안녕하세요!");
}
static void Main(string[] args)
{
Hi();
}
}
위 코드를 람다식을 이용해서 다음과 같이 표현할 수 있습니다.
internal class Program
{
static void Hi() => Console.WriteLine("안녕하세요!");
static void Main(string[] args)
{
Hi();
}
}
예제 2
매개변수를 갖는 람다식을 작성해 보겠습니다.
다음 코드는 두 개의 정수(int)값을 반환하는 Add 메서드입니다.
internal class Program
{
static int Add(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
int a = 10, b = 20;
Console.WriteLine("{0} + {1} = {2}", a, b, Add(a, b));
}
}
위 코드를 람다식으로 다시 작성해보겠습니다.
internal class Program
{
static int Add(int x, int y) => x + y;
static void Main(string[] args)
{
int a = 10, b = 20;
Console.WriteLine("{0} + {1} = {2}", a, b, Add(a, b));
}
}
익명(무명) 람다식
델리게이트(delegate)와 람다식을 이용해서 익명의(이름이 없는) 메서드를 호출할 수 있습니다.
예제 3
internal class Program
{
delegate int Calc(int a, int b);
static void Main(string[] args)
{
Calc c = (a, b) => a + b;
Console.WriteLine(c(10, 20));
}
}
델리게이트는 메서드를 대신 호출할 수 있는 기능으로 아래와 같이 사용하는 것이 기본이지만, 위 코드에서는 델리게이트 c에 메서드 이름을 할당하지 않고 람다식을 할당해서 사용하는 것을 보여주고 있습니다.
델리게이트(delegate) |
델리게이트 = 메서드이름; |
반응형
'C# > C#_기초강의' 카테고리의 다른 글
(C#) 1차원 배열의 요소를 뒤로 1칸씩 이동하기 (0) | 2023.04.24 |
---|---|
(C#) LINQ(Language-Integrated Query) 링크 기초 (0) | 2023.04.23 |
(C#) List<T> 리스트 제네릭 클래스(Generic Class) (0) | 2023.04.23 |
(C#) 델리게이트(Delegate) 기초 (0) | 2023.04.23 |
(C#) 2차원 배열 GetLength(0), GetLength(1) (0) | 2023.04.23 |