「エントリ」オブジェクト (それぞれに ID がある) のリストがあり、それらを ID で分割して 2D 配列を作成したいと考えています。
class Entry
{
public int ID { get; set; }
public int value { get; set; }
public Entry(int id, int value)
{
this.ID = id;
this.value = value;
}
}
人口:
List<Entry> entries = new List<Entry>();
entries.Add(new Entry(0, 20));
entries.Add(new Entry(1, 20));
entries.Add(new Entry(1, 25));
entries.Add(new Entry(2, 21));
entries.Add(new Entry(2, 23));
ID で分割されたエントリの多次元リストを作成する必要があります。次のコードは、配列を構築します。
List<Entry> entriesZero = new List<Entry>();
entriesZero.Add(new Entry(0, 20));
List<Entry> entriesOne = new List<Entry>();
entriesOne.Add(new Entry(1, 20));
entriesOne.Add(new Entry(1, 25));
List<Entry> entriesTwo = new List<Entry>();
entriesTwo.Add(new Entry(2, 21));
entriesTwo.Add(new Entry(2, 23));
List<List<Entry>> entriesByID = new List<List<Entry>>();
entriesByID.Add(entriesZero);
entriesByID.Add(entriesOne);
entriesByID.Add(entriesTwo);
このようなことを達成するための最良の方法は何でしょうか? 複数の foreach ループでそれを行うこともできますが、LINQ でより良い方法があるかどうか疑問に思っています。