30-05-2012
The List.Find method requires a delegate function which can compare an
object of the same type of the list and return if the object matches the
target object.
You can either declare a delegate separately or use following easy shortcut.
Following example populates a list of people and then finds for a particular
entry in the list:
Public Class Person
{
Private String Name;
Private int Age;
Public Person(String Name)
{
this.Name = Name;
}
}
Class Program
{
public static void Main(String[] args)
{
List patients = new List();
Person P1 = new Person("John");
Person P2 = new Person("Ron");
Person P3 = new Person("Martin");
patients.Add(P1);
patients.Add(P2);
patients.Add(P3);
// find Ron from the list
Person resultingPatient = patients.Find(delegate(Person p) {
p.Name == "Ron"; });
Console.WriteLine("Name of the patient found : " +
resultingPatient.Name); // Will print " Name of the patient found : Ron"
}
}
You can use the same method to implement a method which will do the search
for you as described below;
public Person FindPatient(String TargetName)
{
Person P = patients.Find(delegate p) { return p == TargetName; });
return P;
}
Menol
ILT