Heim > Backend-Entwicklung > C++ > Können anonyme Klassen zu generischen Listen in C# hinzugefügt werden?

Können anonyme Klassen zu generischen Listen in C# hinzugefügt werden?

DDD
Freigeben: 2025-01-04 07:21:35
Original
555 Leute haben es durchsucht

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

Hinzufügen anonymer Klassen zu einer generischen Liste in C

In C# 3.0 bieten anonyme Klassen eine praktische Möglichkeit, leichtgewichtige Objekte mit dynamisch generierten Eigenschaften zu erstellen. Es stellt sich jedoch die Frage: Können diese anonymen Klassen in generische Listen integriert werden?

Techniken zur Listenkompilierung

Um dieses Problem zu beheben, haben Sie einige Möglichkeiten:

  1. Initialisierungsarray: Sie können ein anonymes Klassenarray erstellen und es dann mit der Methode .ToList() in ein umwandeln Liste.

    var list = new[] { o, o1 }.ToList();
    Nach dem Login kopieren
  2. Generische Methode mit Typinferenz: Durch die Verwendung einer generischen Methode können Sie die explizite Angabe des Listentyps vermeiden.

    public static List<T> CreateList<T>(params T[] elements)
    {
        return new List<T>(elements);
    }
    
    var list = CreateList(o, o1);
    Nach dem Login kopieren

Beispielverwendung

Lassen Sie uns einige Arbeitsschritte bereitstellen Beispiele:

// 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 });
}
Nach dem Login kopieren

In diesen Szenarien werden die anonymen Klassen effektiv zur generischen Liste hinzugefügt. Bitte beachten Sie, dass der Typ der Liste dynamisch bleibt und das Hinzufügen anonymer Klassen mit unterschiedlichen Eigenschaftssätzen ohne Typvalidierung ermöglicht.

Das obige ist der detaillierte Inhalt vonKönnen anonyme Klassen zu generischen Listen in C# hinzugefügt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage