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

发布于 2024-11-03 00:31:04 字数 305 浏览 1 评论 0原文

可以使用 IQueryable、IEnumerable 或带有 linq 的 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;
}

?如果可以的话,如何实现?

Can the following loop be implemented using IQueryable, IEnumerable or lambda expressions with linq

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;
}

if so how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

朦胧时间 2024-11-10 00:31:04

尝试:

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

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

Try:

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

The Any extension method in Linq applies to an IEnumerable sequence (which could be a List for example) and returns true if any of the items in the sequence return true for the given predicate (in this case a Lambda function s => s.L.R == r && s.L.C == c).

谢绝鈎搭 2024-11-10 00:31:04

像这样的东西:

return sList.Any(s => s.L.R == r && s.L.C == c);

something like:

return sList.Any(s => s.L.R == r && s.L.C == c);
苍景流年 2024-11-10 00:31:04

因为您应该提供有关您使用的类(sLR ??)的更多信息,并且我不知道您真正想要的函数结果是什么,所以这不是 100% 确定:

return sList.Any(s => s.L.R == r && s.L.C == c);

/e:似乎我有点晚了,对不起各位。不是抄袭你的。

since you should provide more information about the classes (s.L.R ??) you use and I don't know what you really want as outcome of the function, this is not 100 percent sure:

return sList.Any(s => s.L.R == r && s.L.C == c);

/e: seems like I was a bit to late, sorry guys. Was not copiying yours.

爱情眠于流年 2024-11-10 00:31:04

一个例子

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;
}

One example

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文