我是Linq的新手。我有这样的代码:
public class Data
{
public Dictionary<string,int> WordFrequency;
}
List<Data> dataList;
我想要的是一个聚合字典,它为整个 Data 对象列表执行组合 WordFrequency。我知道如何使用循环来做到这一点(遍历列表,然后遍历每个字典),我的问题是,Linq 的语法是什么?谢谢你。
编辑:这是我的(未经测试的)循环方法,所以你可以明白我的意思。
public static Dictionary<string, int> Combine()
{
Dictionary<string, int> result;
foreach (Data data in DataList)
{
foreach (string key in data.WordFrequencies.Keys)
{
if(!result.ContainsKey(key))
result[key] = 0;
result[key] += data.WordFrequencies[key];
}
}
}