是否可以使用LINQ合并堆栈

时间:2010-07-28 14:10:31

标签: c# linq stack

我刚开始学习LINQ, 我想知道是否可以使用LINQ将元素分组在3个不同的堆栈中。 这就是我所拥有的,是否可以在from子句中添加多个数组,以及如何?

        var uniqueValues =
            from n in valuesStack.ToArray()
            group n by n into nGroup
            select nGroup.Key;

3 个答案:

答案 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;