私は2つのクラスを持っています:
public GeneralClassName
{
public GeneralClassName ()
{
SpecificList = new List<OtherClass>();
}
public string StringValue;
public string OtherStringValue;
public List<OtherClass> SpecificList;
}
と
public OtherClass
{
public string Name;
public string Number;
}
JSON デシリアライゼーションの後、 nice を取得します。必要なList<GeneralClassName>
結果は、値が inside内Dictionary<string, int>
の変数「Number」の合計であり、キーは変数名です。List<OtherClass>
List<GeneralClassName>
言い換えれば、数値グループを名前で合計したいと思います。
今、私の頭に浮かんだ唯一のことは、ネストされた foreach のようなものです。
Dictionary<string, int> resultDictionary = new Dictionary<string, int>();
foreach(List<OtherClass> listOtherClass in bigListGeneralClass.Select(x => x.SpecificList))
{
foreach(OtherClass otherClass in listOtherClass)
{
int value = 0;
if(resultDictionary.ContainsKey(otherClass.Name))
{
resultDictionary[otherClass.Name] += otherClass.Number;
}
else
{
resultDictionary.Add(otherClass.Name, otherClass.Number);
}
}
}
このソリューションはうまく機能しているように見えますが、私はまったく好きではありません。この結果を見つけるためのよりクリーンな方法はありますか? 素敵なLINQクエリを介して?