混乱しないでください:リストをHashtableに変換するにはどうすればいいですか? C#?
私はモデルとして、列挙型をキーとしたハッシュテーブルと、値として列挙型の値を持つモデルのリストに整理したいモデルのリストを持っています。
public enum MyEnum
{
Blue,
Green
}
public class MyModel
{
public MyModel(MyEnum myEnum, string foo, int bar)
{
this.MyEnum = myEnum;
this.Foo = foo;
this.Bar = bar;
}
public MyEnum MyEnum { get; set; }
public string Foo { get; set; }
public int Bar { get; set; }
}
List models = new List();
models.Add(new MyModel(MyEnum.Blue, "How", 1));
models.Add(new MyModel(MyEnum.Green, "Now", 2));
models.Add(new MyModel(MyEnum.Blue, "Brown", 3));
models.Add(new MyModel(MyEnum.Green, "Cow", 4));
リストを以下のようなハッシュテーブルに変換する最も簡単な方法は何ですか(許してください)
{
Blue:
[
{ Blue, "How", 1 },
{ Blue, "Brown", 3 }
],
Green:
[
{ Green, "Now", 2 },
{ Green, "Cow", 4 }
]
}
私がこのようなことをしたとき、
var taskTable = tasks.Cast().ToDictionary(o => o.Task); (Where Task is the Enum)
私はこの例外を受け取ります: "同じキーを持つアイテムは既に追加されています。"
LambdaまたはLinqのライナーが1つ評価されます!