我刚开始学习LINQ, 我想知道是否可以使用LINQ将元素分组在3个不同的堆栈中。 这就是我所拥有的,是否可以在from子句中添加多个数组,以及如何?
var uniqueValues =
from n in valuesStack.ToArray()
group n by n into nGroup
select nGroup.Key;
答案 0 :(得分:3)
你可以Union
堆叠在一起。
var s1 = new Stack<int>();
var s2 = new Stack<int>();
var s3 = new Stack<int>();
var r = s1.Union(s2.Union(s3)).ToArray();
答案 1 :(得分:3)
var uniqueValues = stack1
.Concat(stack2)
.Concat(stack3)
.Distinct();
或者您可以使用Union:
var uniqueValues = stack1
.Union(stack2)
.Union(stack3);
答案 2 :(得分:0)
这是未经测试的:
var uniqueValues =
from stack in stacks
from n in stack
group n by n into nGroup
select nGroup.Key;