如果我在CSV文件中的一长串对象上使用Linq To Objects,如:
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!)