C# 使用表达式树在LINQ to对象中对LINQ查询进行ORing
我希望同一个字段与ORs合并,并在两个不同的文件之间与and合并 如果它们具有相同的字段值,则所有字段都将被OR。这允许我们说“州”、“均衡器”、“CA”或“州”、“均衡器”、“TX”和“名”、“均衡器”、“约翰”C# 使用表达式树在LINQ to对象中对LINQ查询进行ORing,c#,linq,linq-to-objects,C#,Linq,Linq To Objects,我希望同一个字段与ORs合并,并在两个不同的文件之间与and合并 如果它们具有相同的字段值,则所有字段都将被OR。这允许我们说“州”、“均衡器”、“CA”或“州”、“均衡器”、“TX”和“名”、“均衡器”、“约翰” 有几种方法可以做到这一点: 1.链Where()s 您可以将两个Where()语句链接在一起,第一个语句带有OR,第二个语句满足and。当您以编程/动态方式构建查询时,这会变得非常有用: var output = input .Where(a =>
有几种方法可以做到这一点: 1.链
Where()s
您可以将两个Where()
语句链接在一起,第一个语句带有OR,第二个语句满足and。当您以编程/动态方式构建查询时,这会变得非常有用:
var output = input
.Where(a => a.State == "CA" || a.State == "TX")
.Where(a => a.FirstName == "John");
由于Where()
过滤器是串联运行的,因此效果是每个过滤器中的条件的逻辑和
2.插入逻辑
您也可以使用括号指示操作顺序:
var output = input
.Where(a => (a.State == "CA" || a.State == "TX")
&& a.FirstName == "John");
people.Where(p=>p.State==“CA”| p.State=“TX”)。Where(p=>p.FirstName==“John”)如果是linq to objects查询,为什么要使用表达式构建查询?
var output = input
.Where(a => (a.State == "CA" || a.State == "TX")
&& a.FirstName == "John");