Quando non esistevano le liste generiche e si usava la semplice List, per trovare un particolare oggetto della lista bisognava esplicitamente ciclare la lista e visitare ogni singolo oggetto confrontando le sue proprietà con quelle richieste.
Adesso con l'utilizzo delle liste generiche List<> è possibile utilizzare il metodo Find() che fa tutto in una riga di codice!
1) Prendiamo, ad esempio, la classica classe Persona.
public class Persona
{
private int _id;
private string _nome;
public int ID { get{ return _id;} set{ _id = value;}}
public int Nome { get{ return _nome;} set{ _nome= value;}}
public Persona(int id, string nome)
{
_id = id;
_nome = nome;
}
}
2) Creiamo una lista di persone.
List<Persona> persone = new List<Persona>();
persone.Add(new Persona(1, "Stefano"));
persone.Add(new Persona(2, "Pippo"));
persone.Add(new Persona(3, "Paperino"));
3) Adesso cerchiamo l'oggetto persona relativo a Pippo.Persona pippo = persone.Find(delegate(Persona p) {return p.ID == 2; });Il gioco è fatto!Una sola riga di codice ed anche facile da capire
Enjoy it!