¿Cuál es la mejor manera de encontrar algo en una lista? Sé que LINQ tiene algunos trucos, pero también sugerencias para C# 2.0. Permite obtener las mejores refactorizaciones para este patrón de código común.Manera más limpia de encontrar una coincidencia en una lista
Actualmente uso de código como este:
// mObjList is a List<MyObject>
MyObject match = null;
foreach (MyObject mo in mObjList)
{
if (Criteria(mo))
{
match = mo;
break;
}
}
o
// mObjList is a List<MyObject>
bool foundIt = false;
foreach (MyObject mo in mObjList)
{
if (Criteria(mo))
{
foundIt = true;
break;
}
}
No, el rendimiento alcanzado aquí no está utilizando el delegado. Sus algoritmos funcionan fundamentalmente diferente, el primer método tiene tiempo de ejecución asintótico O (n^2) mientras que el segundo tiene tiempo de ejecución O (n). Esto no tiene nada que ver con los delegados, sino con el uso de la función 'Buscar' en este contexto. –