FindAll() : Finding multiple items in C# List
Let us say we have a list of integer and we want to find all the number greater than 100.If list is as follow
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);
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 the entire element 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 and that takes an integer as input parameter.
public static bool GreaterThanHun(int value)
{
if (value > 100)
return true;
else
return false;
}
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
Posted by Dhananjay Kumar ⋅ October 1, 2010
No comments :
Post a Comment