Quelle est la meilleure façon de trouver quelque chose dans une liste? Je sais que LINQ a quelques bonnes astuces, mais aussi des suggestions pour C# 2.0. Permet d'obtenir les meilleurs refactorings pour ce modèle de code commun.Le moyen le plus propre de trouver une correspondance dans une liste
Actuellement, j'utiliser le code comme ceci:
// mObjList is a List<MyObject>
MyObject match = null;
foreach (MyObject mo in mObjList)
{
if (Criteria(mo))
{
match = mo;
break;
}
}
ou
// mObjList is a List<MyObject>
bool foundIt = false;
foreach (MyObject mo in mObjList)
{
if (Criteria(mo))
{
foundIt = true;
break;
}
}
Non, la performance atteinte ici n'utilise pas le délégué. Vos algorithmes fonctionnent fondamentalement différemment, la première méthode a un temps d'exécution asymptotique O (n^2) tandis que la seconde a un temps d'exécution O (n). Cela n'a rien à voir avec les délégués mais plutôt avec l'utilisation de la fonction 'Find' dans ce contexte. –