是否可以将两个 Lambda 表达式放入一个查询中?

发布于 2024-12-06 08:48:37 字数 445 浏览 0 评论 0原文

我想知道是否有一种简单的方法可以将两个 Lambda 表达式放置在单个(Linq/Where)查询中?

例如,我当前使用如下所示的方法调用一个方法:

string testing = "blablabla";
if(testing == "" || testing == null)

我尝试了一些组合,例如:

testing.Where(x => x == ("") || x=> x == null);

但上面的方法不起作用。我知道我可以设置一个返回谓词/布尔值的方法,但是目前我对 Lambda 感兴趣,只是想知道如何实现这一点。

我是否需要链接多个Where方法,或者有没有办法实现多个Lambda?

(ps我知道IsNullOrEmpty,这只是我能想到的第一个例子!)

I was wondering if there is an easy way to place two Lambda expressions in a single (Linq/Where) query?

For example, I currently call a method with something like the following:

string testing = "blablabla";
if(testing == "" || testing == null)

I have tried a few combinations such as:

testing.Where(x => x == ("") || x=> x == null);

But the above doesn't work. I know I can set up a method that returns a predicate/bool, but, at the moment, I am interested in Lambdas and was just wondering how to achieve this.

Do I need to chain multiple Where methods, or is there a way to achieve multiple Lambdas?

(p.s. I know about IsNullOrEmpty, this is just the first example I could think of!)

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

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

发布评论

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

评论(2

我的奇迹 2024-12-13 08:48:37

您始终可以将它们组合成一个 lambda。

testing.Where(x => x == null || x == ("")  );

You can always combine them to a single lambda.

testing.Where(x => x == null || x == ("")  );
厌味 2024-12-13 08:48:37

如果您正在寻找以任意方式组合查询条件的通用方法,可以使用表达式树:

http://msdn.microsoft.com/en-us/library/bb882637.aspx

If you're looking for a general way to combine query conditions in arbitrary ways, you can use expression trees:

http://msdn.microsoft.com/en-us/library/bb882637.aspx

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