Maison > développement back-end > C++ > Des classes anonymes peuvent-elles être ajoutées aux listes génériques en C# ?

Des classes anonymes peuvent-elles être ajoutées aux listes génériques en C# ?

DDD
Libérer: 2025-01-04 07:21:35
original
555 Les gens l'ont consulté

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

Ajout de classes anonymes à une liste générique en C

En C# 3.0, les classes anonymes offrent un moyen pratique de créer des objets légers avec des propriétés générées dynamiquement. Cependant, la question se pose : ces classes anonymes peuvent-elles être incorporées dans des listes génériques ?

Techniques de compilation de listes

Pour résoudre ce problème, vous avez quelques options :

  1. Tableau d'initialisation : Vous pouvez créer un tableau de classes anonyme, puis utiliser la méthode .ToList() pour le convertir en une liste.

    var list = new[] { o, o1 }.ToList();
    Copier après la connexion
  2. Méthode générique avec inférence de type : En utilisant une méthode générique, vous pouvez éviter de spécifier explicitement le type de liste.

    public static List<T> CreateList<T>(params T[] elements)
    {
        return new List<T>(elements);
    }
    
    var list = CreateList(o, o1);
    Copier après la connexion

Exemple d'utilisation

Fournissons quelques exemples de travail exemples :

// 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 });
}
Copier après la connexion

Dans ces scénarios, les classes anonymes sont effectivement ajoutées à la liste générique. Veuillez noter que le type de la liste reste dynamique, permettant l'ajout de classes anonymes avec différents jeux de propriétés sans validation de type.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal