728x90
반응형
- 주제
1. Func & Action
2. Where문
- 공부내용
1. Func & Action
델리게이트를 대체하는 미리 정의된 제네릭 형식으로,
-Func : 값을 반환하는 역할
(예를 들어, Func<int, string>의 경우, int를 입력받아서 string을 반환하는 메서드를 나타낸다.)
-Action: 값을 반환하지 않는 메서드를 나타내는 역할
(예를 들어, Action<int, string>의 경우, int와 string을 입력으로 받고,
아무런 값도 반환하지 않는 메서드를 나타낸다.)
1-1. Func 예제
// Func를 사용하여 두 개의 정수를 더하는 메서드
int Add(int x, int y)
{
return x + y;
}
// Func를 이용한 메서드 호출
Func<int, int, int> addFunc = Add; //int, int를 입력받아서 int를 반환
int result = addFunc(3, 5);
Console.WriteLine("결과: " + result); //결과: 8
1-2. Action 예제
// Action을 사용하여 문자열을 출력하는 메서드
void PrintMessage(string message)
{
Console.WriteLine(message);
}
// Action을 이용한 메서드 호출
Action<string> printAction = PrintMessage;
printAction("Hello, World!");
2. Where문
원본 데이터에서 일부 조건을 만족하는 데이터를 추출할 때 사용한다.
예를 들어,
-특정 문자로 시작하는 문자열 추출
-나이가 20살 이상인 사람만 추출
2-1. 예제1(int 타입의 List에서 10보다 큰 숫자를 추출)
class Program
{
static void Main(string[] args)
{
List<int> liNum = new List<int>()
{
1, 3, 5, 6, 7, 9, 10
};
// 1. 질의 구문(Query Syntax)
List<int> linqQueryResult = (from num in liNum
where num > 5
select num).ToList();
// 2. 메서드 구문(Method Syntax)
List<int> linqMethodResult = liNum.Where(num => num > 5).ToList();
Console.WriteLine("질의 구문");
foreach (int num in linqQueryResult)
Console.Write(num + " ");
Console.WriteLine("\n메서드 구문");
foreach (int num in linqMethodResult)
Console.Write(num + " ");
}
}
[출력]
질의 구문
6 7 9 10
메서드 구문
6 7 9 10
출처: https://developer-talk.tistory.com/565 [DevStory:티스토리]
2-2. 예제2(10보다 크고 홀수인 숫자 추출)
class Program
{
static void Main(string[] args)
{
List<int> liNum = new List<int>()
{
1, 3, 5, 6, 7, 9, 10
};
// 1. 질의 구문(Query Syntax)
List<int> linqQueryResult = (from num in liNum
where num > 5 && num % 2 != 0
select num).ToList();
// 2. 메서드 구문(Method Syntax)
List<int> linqMethodResult = liNum.Where(num => num > 5 && num % 2 != 0).ToList();
Console.WriteLine("질의 구문");
foreach (int num in linqQueryResult)
Console.Write(num + " ");
Console.WriteLine("\n메서드 구문");
foreach (int num in linqMethodResult)
Console.Write(num + " ");
}
}
[출력]
질의 구문
7 9
메서드 구문
7 9
출처: https://developer-talk.tistory.com/565 [DevStory:티스토리]
참조사이트
https://developer-talk.tistory.com/565
728x90
반응형
'🌐 유니티 (Unity)' 카테고리의 다른 글
Day 19 - C# (Random 클래스) (0) | 2024.05.04 |
---|---|
Day 18 - C# (얇은 복사, 깊은 복사, ICloneable) (0) | 2024.05.03 |
Day 16 - C# (참조형, 박싱, 람다, 델리게이트) (0) | 2024.05.01 |
Day 15 - C# (인터페이스, Enums 열거형, 예외 처리 try-catch) (2) | 2024.04.30 |
Day 14 - 커밋 컨벤션 설정 & README.md 작성 (0) | 2024.04.29 |