Let us say we have a list of integers and we want to find all the numbers greater than 100.
If list is as follows
List<int> lst = new List<int>();
lst.Add(20);
lst.Add(300);
lst.Add(400);
lst.Add(9);
lst.Add(19);
lst.Add(789);
lst.Add(45);
Now if we print this list
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication24
{
class Program
{
static void Main(string[] args)
{
List<int> lst = new List<int>();
lst.Add(20);
lst.Add(300);
lst.Add(400);
lst.Add(9);
lst.Add(19);
lst.Add(789);
lst.Add(45);
foreach(var r in lst)
{
Console.WriteLine(r);
}
Console.ReadKey(true);
}
}
}
Now we need to find all the elements in the list greater than 100. So for this purpose we will use FindAll()
We can see that FindAll() takes a predicate. So we need to create a predicate that takes
an integer as input parameter.
public static bool GreaterThanHun(int value)
{
if (value > 100)
return true;
else
return false;
}
So when we now call this predicate as the input parameter of FindAll() we will get the desired result of list numbers greater than 100.
List<int> lstgrthund = lst.FindAll(GreaterThanHun);
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication24
{
class Program
{
static void Main(string[] args)
{
List<int> lst = new List<int>();
lst.Add(20);
lst.Add(300);
lst.Add(400);
lst.Add(9);
lst.Add(19);
lst.Add(789);
lst.Add(45);
foreach(var r in lst)
{
Console.WriteLine(r);
}
Console.ReadKey(true);
List<int> lstgrthund = lst.FindAll(GreaterThanHun);
foreach (var r in lstgrthund)
{
Console.WriteLine(r);
}
Console.ReadKey(true);
}
public static bool GreaterThanHun(int value)
{
if (value > 100)
return true;
else
return false;
}
}
}
Output