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

时间:2011-09-25 02:10:22

标签: c# linq syntax lambda

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

例如,我目前使用以下内容调用方法:

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

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

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

但上述方法无效。我知道我可以设置一个返回谓词/布尔值的方法,但是,此刻,我对Lambdas感兴趣,并且只是想知道如何实现这一点。

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

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

2 个答案:

答案 0 :(得分:7)

您始终可以将它们合并为一个lambda。

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

答案 1 :(得分:0)

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

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