728x90
예제1
기본 코드 : 매개변수 1개
Action<string> action = delegate(string message)
{
Console.WriteLine($"메시지: {message}");
};
1. delegate 글자 지우고 => 를 소괄호 뒤에 추가
Action<string> action = (string message) =>
{
Console.WriteLine($"메시지: {message}");
};
2. 표현식 하나만 있을 경우 return, 중괄호 생략 가능
Action<string> action = (string message) => Console.WriteLine($"메시지: {message}");
3. 매개변수 타입을 추론할 수 있으므로 생략
Action<string> action = (message) => Console.WriteLine($"메시지: {message}");
4. 매개변수 타입을 추론할 수 있고 매개변수가 하나면 소괄호도 생략
Action<string> action = message => Console.WriteLine($"메시지: {message}");
예제2
기본 코드 : 매개변수 2개
Func<int, int, int> multiply = delegate(int x, int y){
return x * y;
};
1. delegate 글자 지우고 => 를 소괄호 뒤에 추가
Func<int, int, int> multiply = (int x, int y) => {
return x * y;
};
2. 표현식 하나만 있을 경우 return, 중괄호 생략 가능
Func<int, int, int> multiply = (int x, int y) => x * y;
3. 매개변수 타입을 추론할 수 있으므로 생략
Func<int, int, int> multiply = (x, y) => x * y;
4. 매개변수가 하나가 아니라서 소괄호는 생략 불가
예제3
기본 코드 : 매개변수가 없음
Random ran = new Random();
Func<int> create = delegate()
{
return ran.Next(45) + 1;
};
1. delegate 글자 지우고 => 를 소괄호 뒤에 추가
Func<int> create = () =>
{
return ran.Next(45) + 1;
};
2. 표현식 하나만 있을 경우 return, 중괄호 생략 가능
Func<int> create = () => ran.Next(45) + 1;
3. 매개변수가 없어서 끝
한 줄 요약: deletegate를 => 로 변경하고 return, {}, 매개변수 타입, 매개변수 괄호 생략
728x90
'Programming > C#' 카테고리의 다른 글
| C# dynamic csharp (0) | 2025.05.12 |
|---|---|
| C# 튜플 tuple csharp (0) | 2025.05.12 |
| C# 델리게이트 메소드 함수 포인터 (0) | 2025.03.09 |
| C# 웹소켓 WebSocket 주요 메서드 정리 (0) | 2025.02.28 |
| C# 비동기 프로그래밍 예제 Asynchronous programming Task void async await (0) | 2025.02.28 |