Delegates and Lambdas
Predicate Filter
A predicate delegate returns true or false for each value.
Predicate Filter
PredicateFilter.cs
using System;
class Program
{
static void Main()
{
int minimum = ;
int[] values = { 1, 3, 5, 7 };
Func<int, bool> keep = value => value >= minimum;
int kept = 0;
int total = 0;
foreach (int value in values)
{
if (keep(value))
{
kept++;
total += value;
}
}
Console.WriteLine($"minimum={minimum}");
Console.WriteLine($"kept={kept}");
Console.WriteLine($"total={total}");
}
}
using System;
class Program
{
static void Main()
{
int minimum = ;
int[] values = { 1, 3, 5, 7 };
Func<int, bool> keep = value => value >= minimum;
int kept = 0;
int total = 0;
foreach (int value in values)
{
if (keep(value))
{
kept++;
total += value;
}
}
Console.WriteLine($"minimum={minimum}");
Console.WriteLine($"kept={kept}");
Console.WriteLine($"total={total}");
}
}
using System;
class Program
{
static void Main()
{
int minimum = ;
int[] values = { 1, 3, 5, 7 };
Func<int, bool> keep = value => value >= minimum;
int kept = 0;
int total = 0;
foreach (int value in values)
{
if (keep(value))
{
kept++;
total += value;
}
}
Console.WriteLine($"minimum={minimum}");
Console.WriteLine($"kept={kept}");
Console.WriteLine($"total={total}");
}
}
predicate
A predicate is a function that answers a yes-or-no question.