<string, double>
リストの各行について、2 つの文字列プロパティと辞書プロパティを含む展開されたリストで本質的に構成されるオブジェクトから情報を抽出できるようにする LINQ コードを作成しようとしています。.
GroupBy、Select、Sumのさまざまな組み合わせを試し、他のスレッドで同様のものを探しましたが、他のすべての辞書関連の質問には複雑なレイヤーがほとんどないようです。
私の目標は、List オブジェクト内のデータを最初の文字列プロパティでグループ化し、ステップ 1 のグループ化された文字列ごとに辞書エントリの 1 つを小計することです。次に、グループ化された文字列によって辞書から上位 5 つの小計を取得したいと考えています。 step1から。
var result = List<ListObject>
.Where(i => i.string2 == "June")
.GroupBy(i => i.string1)
.Sum(i => i.Sum(s => s.Values.TryGetValue("Value1",0.0))
.Take(5));
Also adding the ListObject definition as requested
public class ListObject{
public string string1{ get; set; }
public string string2{ get; set; }
public Dictionary<string, double> Values { get; set; }
}