をグループ化すると、リスト上の辞書を作成します。今すぐ私は、リスト内の次のオブジェクト持って
public class DemoClass
{
public int GroupKey { get; set; }
public string DemoString { get; set; }
public object SomeOtherProperty { get; set; }
}
を、私はそれのうち、以下の辞書を作成したい:
Dictionary<int, List<DemoClass>>
私はグループにしたいですList<DemoClass>
のプロパティでGroupKey
がありますが、これがどのように行われ、いくつかの助けがわかりません。
少し考えた後、私は必要な動作を実現:
var groupedDemoClasses = from demoClass in mySepcialVariableWhichIsAListOfDemoClass
group demoClass by demoClass.GroupKey
into groupedDemoClass
select groupedDemoClass;
var neededDictionary = groupedDemoClass.ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());
しかし、単一のステートメントにこれを作るための方法はありますか?
私はルックアップが、すべてのリクエストに対して新鮮な結果を構築するため、長期的な環境で、ビルドされた辞書に比べて、それほど良くないとは思っていませんでした。 –
いいえ、ルックアップ全体を作成します。一般に、ToXXXは遅延実行を使用しません。 –
(実際に延期されているグループ分けを考えているかもしれません) –