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!