Predicatedelegate
- Predicate는 입력값이 1개 이고, 리턴값이 반드시 bool인 delegate 이다.
- Predicate 는 Func<T, bool> 과 같은 형태 입니다.
Predicate 활용법
public void Run()
{
//기존 메서드 사용
Predicate<int> DetInteger = DetermineInteger;
bool result = DetInteger(33);
Console.WriteLine($"33 정수 인가? {result}");
//무명메서드 사용
Predicate<int> DetermineInteger2 = delegate (int val)
{
return val > 0;
};
Console.WriteLine($"-1 정수 인가? {DetermineInteger2(-1)}");
//람다식 사용
Predicate<int> DetermineInteger3 = (val) => val > 0;
Console.WriteLine($"3 정수 인가? {DetermineInteger3(3)}");
//일반적으로 Function을 사용(Func)
Func<int, bool> DetermineInteger4 = (val) => val > 0;
Console.WriteLine($"-6 정수 인가? {DetermineInteger4(-6)}");
}
private bool DetermineInteger(int val)
{
return val > 0;
}
결과
33 정수 인가? True
-1 정수 인가? False
3 정수 인가? True
-6 정수 인가? False