0

私はそのような辞書のコレクションを持っています(これが理にかなっているといいのですが、その場で行いました)

dim dic as new ienumerable(of dictionary(of integer, double))= _
{dictionary(of integer, double) = new { {1, 0.5}, {5, 0.75} } _
,dictionary(of integer, double) = new { {1, 0.3}, {4, 0.46} }}

dictionaryそのように同じキーの合計を(linqを使用して)取得したい

dictionary(of integer, double) = { {1, 0.8}, {4, 0.46}, {5, 0.75} }

groupつまり、グループ化されたアイテムのkeysと を追加したいと思いvaluesます。

これは a で簡単に行うことができますが、for looplinq を学習しようとしており、代わりにそれを使用して理解したいと考えています。そこにたどり着くまでのヒントを誰か教えてくれませんか?

4

1 に答える 1

1
Dictionary<int, int> dict1 = new Dictionary<int, int>() {{1,9},{2,10},{3,11} };
        Dictionary<int, int> dict1 = new Dictionary<int, int>() {{1,9},{2,10},{3,11} };
        Dictionary<int, int> dict2 = new Dictionary<int, int>() { { 1, 9 }, { 2, 10 }, { 3, 11 } };
        Dictionary<int, int> dict3 = new Dictionary<int, int>() { { 1, 9 }, { 2, 10 }, { 3, 11 } };
        List<Dictionary<int, int>> list = new List<Dictionary<int, int>> {dict1,dict2,dict3 };
        Dictionary<int, int> dictionary = new Dictionary<int, int>();
        list.SelectMany(a => a).GroupBy(a => a.Key).ToList().ForEach(el=>dictionary.Add(el.Key,el.Sum(sm=>sm.Value)));

VB.net の知識はありませんが、これは C# にあります。これが役立つことを願っています。

于 2012-07-28T02:45:54.950 に答える