Heim >Backend-Entwicklung >C++ >Wie kann ich anonyme Klassen zu generischen Listen in C# hinzufügen?

Wie kann ich anonyme Klassen zu generischen Listen in C# hinzufügen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-04 07:16:341040Durchsuche

How Can I Add Anonymous Classes to Generic Lists in C#?

Generische Listen und anonyme Klassen

In C# ermöglichen anonyme Klassen eine bequeme und präzise Kapselung von Daten unter Verwendung einer vereinfachten Syntax, die explizite Klassen- und Eigenschaftsdeklarationen weglässt. Die Einbindung dieser anonymen Klassen in generische Listen kann jedoch eine Herausforderung darstellen.

Um dieses Problem zu lösen, können Sie die Typinferenzfunktion nutzen, die den generischen Typparameter basierend auf dem Kontext automatisch ableitet. Ein Ansatz besteht darin, ein Array anonymer Klassen wie o und o1 zu erstellen und es anschließend mithilfe der ToList()-Methode in eine generische Liste umzuwandeln:

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

Alternativ können Sie eine generische Methode zum Erstellen definieren eine Liste aus einer Parameterliste variabler Länge, wie unten gezeigt:

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

Mit dieser Methode können Sie eine Liste anonymer Klassen mithilfe des generischen Typparameters T instanziieren und den anonymen übergeben Klassen als Argumente:

var list = CreateList(o, o1);

Diese Optionen basieren auf Typinferenz, um den generischen Typ zu bestimmen, und bieten eine einfache Möglichkeit, generische Listen anonymer Klassen zu erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich anonyme Klassen zu generischen Listen in C# hinzufügen?. 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