C# 3.0 では、匿名クラスは、動的に生成されたプロパティを持つ軽量オブジェクトを作成する便利な方法を提供します。ただし、次のような疑問が生じます: これらの匿名クラスを汎用リストに組み込むことはできますか?
これに対処するには、いくつかのオプションがあります。
Initialization Array: 匿名クラス配列を作成してから、.ToList() メソッドを使用できます。
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);
実際の例をいくつか紹介します。
// Example 1: Adding to an Existing List var list = new List<dynamic>(); list.Add(new { Id = 1, Name = "Foo" }); list.Add(new { Id = 2, Name = "Bar" }); // Example 2: Populating a List in a Loop var list = new List<dynamic>(); while (...) { list.Add(new { Id = x, Name = y }); }
これらのシナリオでは、匿名クラスがジェネリック リストに効果的に追加されます。リストの型は動的のままであるため、型検証なしで異なるプロパティ セットを持つ匿名クラスを追加できることに注意してください。
以上がC# のジェネリック リストに匿名クラスを追加できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。