我剛剛開始學習LINQ, 我想知道是否可以使用LINQ在3個不同的堆棧中分組元素。 這是我有,可以在from子句中添加多個數組,以及如何?是否有可能與LINQ合併堆棧
var uniqueValues =
from n in valuesStack.ToArray()
group n by n into nGroup
select nGroup.Key;
我剛剛開始學習LINQ, 我想知道是否可以使用LINQ在3個不同的堆棧中分組元素。 這是我有,可以在from子句中添加多個數組,以及如何?是否有可能與LINQ合併堆棧
var uniqueValues =
from n in valuesStack.ToArray()
group n by n into nGroup
select nGroup.Key;
可以Union
堆在一起。
var s1 = new Stack<int>();
var s2 = new Stack<int>();
var s3 = new Stack<int>();
var r = s1.Union(s2.Union(s3)).ToArray();
謝謝,這對我所需要的完美!我會繼續嘗試LINQ選項只是爲了知道它:) – david 2010-07-28 14:19:04
這是未經測試:
var uniqueValues =
from stack in stacks
from n in stack
group n by n into nGroup
select nGroup.Key;
var uniqueValues = stack1
.Concat(stack2)
.Concat(stack3)
.Distinct();
或者你可以使用聯盟:
var uniqueValues = stack1
.Union(stack2)
.Union(stack3);
完美:)所以我得到的是,使用LINQ不是必要的,但可以做到這一點? – david 2010-07-28 14:20:43
@david:'Union'被認爲是一個LINQ操作符。它是'System.Linq'命名空間中'Enumerable'類的一部分。 – 2010-07-28 14:31:57
@Robery:種類繁多的灰色地帶。 「LINQ」是「語言集成查詢」,但這不是使用任何語言查詢功能,只是庫。 – 2010-07-28 15:15:56
你描述SQL UNION查詢的相同呢? – 2010-07-28 14:13:30
想起來了,是的! – david 2010-07-28 14:15:26