我想知道最好的方法(非LINQ和LINQ)来测试列表是否包含元素的字段值.
public class A
{
public B bField;
}
public class B {}
List<A> listA = new List<A> ();
B someB = new B();
listA.Contains(someB)
Run Code Online (Sandbox Code Playgroud)
非Linq方法,一个简单的循环:
bool contains = false;
foreach(A a in listA)
{
if(someB.Equals(a.bField))
{
contains = true;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
Linq方法,使用Enumerable.Any:
contains = listA.Any(a => someB.Equals(a.bField));
Run Code Online (Sandbox Code Playgroud)
请注意,您需要以Equals有意义的方式覆盖.
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |