exists的参数是predicate<T>,不是一个long型参数。
.net2.0 匿名委托方式: a.exists(delegate(long n) {return n == 3;})
.net3.5 lambda表达式: a.exists(n => n == 3)
System.Collections.Generic.List<T>
public bool Exists(
Predicate<T> match
)
这个地方不应该用List<T>.Exists(3)这种吧……
这里应该用一个谓词,也就是(xx 是 3)这种东西。一般用lambda表达式。
但是实际上一般查询一个集合里面有没有一个东西常用的是Dictionary<TKey, TValue>的ContainsKey方法或者HashSet<T>的Contains方法。
List<long> list = new List<long>();
for (int i = 1; i < 6; i++)
{
list.Add(i);
}
Response.Write(list.Where(p => p == 3).Count() == 1 ? true : false);
用LINQ的话:
bool result = a.Contains(3);
List本身有Contains方法,因此上面的语句应该会被指向到List提供的COntains方法