如何在LINQ中写出'AND'和'OR'。 我尝试了'AND'关键字以及'&&'和','。
我也用谷歌搜索它并没有遇到任何有用的东西。
任何帮助都将受到高度赞赏 感谢
编辑:
int[] moreScores = new int[]{12,12,45,45,87,96};
int[] scores = new int[] { 97, 92, 81, 60 };
// Define the query expression.
IEnumerable<int> scoreQuery =
from score in scores
and moreScores
where score > 80
select score;
答案 0 :(得分:2)
取决于您使用的语言
在 C#中,&&
用于 AND ,||
用于或
在 VB ,AND
用于 AND 和OR
用于 OR
现在,您使用的语言是什么?
更新1
你想先加入两张桌子吗?
UNION
方法排除了返回集中的重复项。
IEnumerable<int> scoreQuery = from score in (scores.Union(moreScores))
where score > 80
select score;
答案 1 :(得分:2)
如果你给我们正确的例子,你应该使用Union,而不是AND:
IEnumerable<int> scoreQuery =
from score in scores.Union(moreScores)
where score > 80
select score;
答案 2 :(得分:1)
您不能通过在它们之间放置AND来简单地查询两个不同的数组。请尝试以下代码:
var moreScores = new int[] { 12, 12, 45, 45, 87, 96 };
var scores = new int[] { 97, 92, 81, 60 };
var scoreQueryResults =
from score in (scores.Union(moreScores))
where score > 80
select score;
也是Linq的一些通用示例。
var list = new List<string>();
// ... add some items
// Searching for the strings that starts with J AND ends K
// Method Chain Format
var results1 = list.Where(item => item.StartsWith("J") && item.EndsWith("K"));
// Query Format
var results2 = from item in list
where item.StartsWith("J") && item.EndsWith("K")
select item;
// Searching for the strings that starts with J OR K
// Method Chain Format
var results3 = list.Where(item => item.StartsWith("J") || item.StartsWith("K"));
// Query Format
var results4 = from item in list
where item.StartsWith("J") || item.StartsWith("K")
select item;
答案 3 :(得分:1)
我认为你正在尝试写这样的东西......
int[] moreScores = new int[]{12,12,45,45,87,96};
int[] scores = new int[] { 97, 92, 81, 60 };
// Define the query expression.
IEnumerable<int> scoreQuery = from score in scores.Union(moreScores)
where score > 80
select score;
答案 4 :(得分:1)
Linq doesen不会这样工作,你首先必须结合你的两套。
var allScores = scores.Concat(morescores);
然后你就可以了,
var scoreGreaterTham80 = allScores.Where(s => s > 80);
如果您想在scores
和morescores
之间排除重复项,请使用Union
而不是Concat
。
答案 5 :(得分:1)
你想要的是Concat
因为我假设得分你通常不想排除Union
将会做的任何事情。
int[] moreScores = new int[] { 12, 12, 45, 45, 87, 96 };
int[] scores = new int[] { 97, 92, 81, 60 };
IEnumerable<int> scoreQuery = from score in moreScores.Concat(scores)
where score > 80
select score;