什么是在列表中找到某些东西的最佳方式?我知道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)。这与委托没有任何关系,而是在这种情况下使用`Find`功能。 – 2008-11-04 07:37:09