私はリストを持っていますList<Field>
。この Field クラスには、他のフィールドの中にコードと値のプロパティが含まれており、同じコードのすべての値を合計するために linq を使用できるようにしたいと考えています。
リストをループして、次のコードを使用してこれを辞書に追加できることはわかっていますが、これを行うためのよりクリーンな方法が必要であると確信しています。
if (totals.ContainsKey(code))
{
totals[code] += value;
}
else
{
totals.Add(code, value);
}
何か案は?
私は似たようなものを見つけましたが、これは私が持っているものではない list> に適用されました:
var result = Sales.SelectMany(d => d) // Flatten the list of dictionaries
.GroupBy(kvp => kvp.Key, kvp => kvp.Value) // Group the products
.ToDictionary(g => g.Key, g => g.Sum());
この記事より [Linq を使用した合計額<List<Dictionary<string, int>>
] <List<Dictionary<string, int>> で Linq を使用した合計額
何か案は?コードをいつでも変更できますがDictionary<string, Field>
、リストと linq を使用してこれを行う方法が必要であると確信しています。
ありがとう。
私はリストを持っていますList<Field>
。この Field クラスには、他のフィールドの中にコードと値のプロパティが含まれており、同じコードのすべての値を合計するために linq を使用できるようにしたいと考えています。
リストをループして、次のコードを使用してこれを辞書に追加できることはわかっていますが、これを行うためのよりクリーンな方法が必要であると確信しています。
if (totals.ContainsKey(code))
{
totals[code] += value;
}
else
{
totals.Add(code, value);
}
何か案は?
私は似たようなものを見つけましたが、これは私が持っているものではない list> に適用されました:
var result = Sales.SelectMany(d => d) // Flatten the list of dictionaries
.GroupBy(kvp => kvp.Key, kvp => kvp.Value) // Group the products
.ToDictionary(g => g.Key, g => g.Sum());
この記事より [Linq を使用した合計額<List<Dictionary<string, int>>
] <List<Dictionary<string, int>> で Linq を使用した合計額
何か案は?コードをいつでも変更できますがDictionary<string, Field>
、リストと linq を使用してこれを行う方法が必要であると確信しています。
ありがとう。
アップデート:
申し訳ありませんが、上記に関して重要なセクションを省略したと思います。リストは別のリストに含まれています。つまり、List> myitemList; これには、さらにフィルタリングが必要な可能性のある他の無関係なフィールドが含まれます。わからない???
注: 申し訳ありませんが、書式設定が再び台無しになります!
これに少しコンテキストを与えるには:
Item1 (リスト型)
項目名 値
(項目 1) タイプ 1 (項目 2) 説明 テスト (項目 3) コード A (項目 4) 正味 100.00
Item2 (リスト型)
項目名 値
(項目 1) タイプ 2 (項目 2) 説明 Test1 (項目 3) コード B (項目 4) 正味 95.55
Item3 (リスト型)
項目名 値
(項目 1) タイプ 2 (項目 2) 説明 テスト 2 (項目 3) コード A (項目 4) 正味 35.95
ご覧のとおり、リスト型の各リストには 4 つのフィールド エントリが含まれており、フィールドは名前 (文字列) と値 (オブジェクト) で定義されています。
次に、これらの各リストがメイン リストに追加されます。したがって、メインリストをループする必要があり、各リストの「コード」と「ネット」の合計を含む辞書を作成したいと考えています。だから最後に、私はただ終わるべきです
A、135.95 B、95.55
上記が意味をなすかどうかはわかりません。そうなることを願っています!
アップデート
私がリストを扱っているという事実は、実際には一度に1つのリストを合計したかったので、実際には違いはありませんでした。答えを提供してください。ありがとうございました!