0
如果我使用LINQ to對象從CSV對象的多頭排列上的文件,如:是否有可能在Linq中創建一個高效的Group By for Sum?
Name, NumApples
"Fred", 1
"Fred", 2
"Jane", 2
"Pete", 1
"Fred", 1
"Bob", 3
"Jane", 2
,我想計算
var query = from p in myfile
group p.NumApples by p.Name into grouped
select new
{
Name = grouped.Key,
TotalApples = grouped.Sum()
};
然後我的理解是,該組通過操作將創建一個Dictionary<string, List<int>>
,並且Sum()
值將只在整個文件被讀取後才計算。
在Linq中有沒有什麼辦法可以避免Dictionary<string, List<int>>
中可能使用的大內存?
(我知道我可以通過不使用LINQ做到這一點,但我喜歡使用LINQ!)