Liste<>.FindAll avec quelques conditions

Il y a une certaine méthode plus rapide que ce à trouver toutes les personne avec des conditions?

if (!String.IsNullOrEmpty(name) && !String.IsNullOrEmpty(lastname) && !String.IsNullOrEmpty(phone))
{
List<Person> newList = List.FindAll(s => s.Name == name && s.Surname == lastname && s.Phone == phone);
}
else if (!String.IsNullOrEmpty(name) && !String.IsNullOrEmpty(lastname))
{
List<Person> newList = List.FindAll(s => s.Name == name && s.Surname == lastname);
}

etc.

Probablement, à l'aide de boucles, mais le plus de matches que vous obtenez le plus de ce serait prendre (c'est plus rapide de ne PAS correspondre)
D'où proviennent les données? Est-il toujours en mémoire? Que vous accédez à partir d'une base de données, etc?
Avez-vous vraiment besoin de ce plus vite, ou tout simplement plus facile à maintenir?

OriginalL'auteur user1638121 | 2013-07-09

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *