Contains 与 Exists
List<string> list = new List<string>(); list.Add("abc"); Response.Write(list.Contains("ABC")); // false Response.Write(list.Exists(m => m.Contains("a"))); // true
Contains 是拿各项出来,使用“==”比较,存在,就返回 true。
Exists 则是自己写表达式,你爱怎么比较就怎么比较。注意:上述代码中,我还用了一个 Contains,这个是 String 的 Contains,与 List 的是两回事。
Find
Find 也是自己写表达式,但是它是将找到的第一项返回。如果找不到,则返回对应类型的默认值,具体可参见:关于 CSharp 值-LINQ、Where、Find 无结果时,返回值如何?
注意
Contains 是 ICollection<T> 接口中定义的方法,Exists、Find 是 List<T> 中定义的方法,但为了解说方便,我直接就说的是 List 中的方法。