我有一組我想要彙總的值的數據集。對於每個組,我想創建一個足夠大的數組來包含最大組的值。當一個組包含小於這個最大數時,我想爲空的鍵值插入一個默認值零。Linq Group中的空組的默認值查詢
數據集
Col1 Col2 Value
--------------------
A X 10
A Z 15
B X 9
B Y 12
B Z 6
期望的結果
X, [10, 9]
Y, [0, 12]
Z, [15, 6]
注意,值 「A」 在Col1中的數據集具有用於col2的 「Y」 沒有價值。值「A」是外系列中的第一組,因此它是第一個缺失的元素。
以下查詢創建結果數據集,但不插入Y組的默認零值。
result = data.GroupBy(item => item.Col2)
.Select(group => new
{
name = group.Key,
data = group.Select(item => item.Value)
.ToArray()
})
實際結果
X, [10, 9]
Y, [12]
Z, [15, 6]
什麼我需要做插入零缺失的羣體價值?
您可以將它放在OLEDB數據表中,而不是在第一步中執行「ToArray」。然後在數據表中,您可以定義要填充的空值,然後將其返回給數組。 – Turo
使'Y'爲'[0,12]'而不是'[12,0]'所需結果的規則是什麼? –
數據是在內存中還是在數據庫中? –