Что такое лучший способ найти что-то в списке? Я знаю, что у LINQ есть интересные трюки, но давайте также получим предложения для C# 2.0. Давайте получим лучшие рефакторинги для этой общей схемы кода.Самый чистый способ найти совпадение в списке
В настоящее время я использую такой код:
// mObjList is a List<MyObject>
MyObject match = null;
foreach (MyObject mo in mObjList)
{
if (Criteria(mo))
{
match = mo;
break;
}
}
или
// mObjList is a List<MyObject>
bool foundIt = false;
foreach (MyObject mo in mObjList)
{
if (Criteria(mo))
{
foundIt = true;
break;
}
}
Нет, производительность здесь не используется делегатом. Ваши алгоритмы существенно отличаются друг от друга, первый метод имеет асимптотическое время выполнения O (n^2), а во втором - время выполнения O (n). Это не имеет ничего общего с делегатами, а скорее с использованием функции «Найти» в этом контексте. – 2008-11-04 07:37:09