需要帮助将C#foreach循环转换为lambda

5 c# linq ienumerable lambda iqueryable

可以使用带有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;
}
Run Code Online (Sandbox Code Playgroud)

如果是这样的话?

Jac*_*ope 6

尝试:

private bool functionName(int r, int c)
{
    return sList.Any(s => s.L.R == r && s.L.C == c);
}
Run Code Online (Sandbox Code Playgroud)

Linq中的Any扩展方法适用于IEnumerable序列(例如,可以是List),如果序列中的任何项对给定谓词(在本例中为Lambda函数s => s.L.R == r && s.L.C == c)返回true,则返回true .


Pau*_*aul 6

就像是:

return sList.Any(s => s.L.R == r && s.L.C == c);
Run Code Online (Sandbox Code Playgroud)