Heim >Backend-Entwicklung >C++ >Können anonyme Klassen in generischen C#-Listen gespeichert werden?

Können anonyme Klassen in generischen C#-Listen gespeichert werden?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-04 12:19:36932Durchsuche

Can Anonymous Classes Be Stored in C# Generic Lists?

Anonyme Klassen in generischen Listen

In C# 3.0 haben Sie die Flexibilität, anonyme Klassen mithilfe der Syntax zu definieren:

var o = new { Id = 1, Name = "Foo" };

Eine häufige Frage stellt sich, ob es möglich ist, diese anonymen Klassen in einer generischen Liste zu speichern. Lassen Sie uns dieses Problem untersuchen.

Betrachten Sie das folgende Beispiel:

var o = new { Id = 1, Name = "Foo" };
var o1 = new { Id = 2, Name = "Bar" };

List list = new List();
list.Add(o);
list.Add(o1);

Ein alternatives Szenario beinhaltet das Hinzufügen anonymer Klassen innerhalb einer Schleife:

List<var> list = new List<var>();

while (...)
{
    ....
    list.Add(new { Id = x, Name = y });
    ....
}

Lösung:

Um dieses Problem zu lösen, können Sie einen Ansatz verwenden wie:

var list = new[] { o, o1 }.ToList();

Alternativ können Sie Typinferenz mit generischen Methoden verwenden:

public static List<T> CreateList<T>(params T[] elements)
{
    return new List<T>(elements);
}

var list = CreateList(o, o1);

Durch die Implementierung dieser Techniken können Sie anonyme Klassen innerhalb generischer Listen effektiv verwalten.

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

Stellungnahme:
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