是否可以使用IQueryable, IEnumerable或lambda表达式来实现以下循环
private bool functionName(int r, int c)
{
foreach (S s in sList)
{
if (s.L.R == r && s.L.C == c)
{
return true;
}
}
return false;
}
如果是,如何?
尝试:
private bool functionName(int r, int c)
{
return sList.Any(s => s.L.R == r && s.L.C == c);
}
Linq中的Any扩展方法适用于IEnumerable序列(例如可以是List),如果序列中的任何项对于给定的谓词(在本例中是Lambda函数s => s.L.R == r && s.L.C == c
)返回true,则返回true。
类似于
return sList.Any(s => s.L.R == r && s.L.C == c);
由于您应该提供有关您使用的类(slr ?? ?)的更多信息,并且我不知道您真正想要的函数结果是什么,因此这不是100%确定:
return sList.Any(s => s.L.R == r && s.L.C == c);
/e:看来我有点晚了,对不起,伙计们。
一个例子
private bool functionName(int r,int c)
{
var ret = from s in sList where s.L.R==r&&s.L.C==c select s;
return ret.Count()>0;
}