使用带有linq的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;
}
如果是这样的话?
答案 0 :(得分:6)
尝试:
private bool functionName(int r, int c)
{
return sList.Any(s => s.L.R == r && s.L.C == c);
}
Linq中的Any扩展方法适用于IEnumerable序列(例如,可以是List),如果序列中的任何项对于给定谓词返回true,则返回true(在本例中为Lambda函数{{1 }})。
答案 1 :(得分:6)
类似的东西:
return sList.Any(s => s.L.R == r && s.L.C == c);
答案 2 :(得分:0)
因为您应该提供有关您使用的类(s.L.R ??)的更多信息,并且我不知道您真正想要的功能结果,这不是百分之百确定:
return sList.Any(s => s.L.R == r && s.L.C == c);
/ e:好像我有点迟到了,对不起伙计们。没有复制你的。
答案 3 :(得分:-1)
一个例子
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;
}