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