在列表中查找内容的最佳方式是什么?我知道 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;
}
}
最佳答案
@ Konrad: So how do you use it? Let's say I want to match mo.ID to magicNumber.
在 C# 2.0 中,您将编写:
result = mObjList.Find(delegate(int x) { return x.ID == magicNumber; });
3.0 知道 lambdas:
result = mObjList.Find(x => x.ID == magicNumber);
关于c# - 在列表中查找匹配项的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23787/