ジェネリック リストの匿名クラス
C# 3.0 では、次の構文を使用して匿名クラスを柔軟に定義できます。
var o = new { Id = 1, Name = "Foo" };
これらの匿名クラスを保存できるかどうかというよくある質問が生じます。一般的なリストで。この問題について調べてみましょう。
次の例を考えてみましょう:
var o = new { Id = 1, Name = "Foo" }; var o1 = new { Id = 2, Name = "Bar" }; List list = new List(); list.Add(o); list.Add(o1);
別のシナリオでは、ループ内に匿名クラスを追加します:
List<var> list = new List<var>(); while (...) { .... list.Add(new { Id = x, Name = y }); .... }
解決策:
これを解決するには、次のアプローチを利用できます。例:
var list = new[] { o, o1 }.ToList();
または、ジェネリック メソッドを使用して型推論を使用することもできます:
public static List<T> CreateList<T>(params T[] elements) { return new List<T>(elements); } var list = CreateList(o, o1);
これらの手法を実装すると、ジェネリック リスト内の匿名クラスを効果的に管理できます。
以上が匿名クラスを C# の汎用リストに保存できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。