ホームページ > バックエンド開発 > C++ > C# のジェネリック リストに匿名クラスを追加できますか?

C# のジェネリック リストに匿名クラスを追加できますか?

DDD
リリース: 2025-01-04 07:21:35
オリジナル
555 人が閲覧しました

Can Anonymous Classes Be Added to Generic Lists in C#?

C の汎用リストへの匿名クラスの追加

C# 3.0 では、匿名クラスは、動的に生成されたプロパティを持つ軽量オブジェクトを作成する便利な方法を提供します。ただし、次のような疑問が生じます: これらの匿名クラスを汎用リストに組み込むことはできますか?

リストのコンパイル手法

これに対処するには、いくつかのオプションがあります。

  1. Initialization Array: 匿名クラス配列を作成してから、.ToList() メソッドを使用できます。

    var list = new[] { o, o1 }.ToList();
    ログイン後にコピー
  2. 型推論によるジェネリック メソッド: ジェネリック メソッドを使用すると、リストの型を明示的に指定することを避けることができます。

    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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート