Maison >développement back-end >C++ >Les classes anonymes peuvent-elles être stockées dans des listes génériques C# ?

Les classes anonymes peuvent-elles être stockées dans des listes génériques C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-04 12:19:36919parcourir

Can Anonymous Classes Be Stored in C# Generic Lists?

Classes anonymes dans les listes génériques

En C# 3.0, vous avez la possibilité de définir des classes anonymes en utilisant la syntaxe :

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

Une question courante se pose : est-il possible de stocker ces classes anonymes dans une liste générique. Explorons ce problème.

Considérons l'exemple suivant :

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

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

Un scénario alternatif implique l'ajout de classes anonymes dans une boucle :

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

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

Solution :

Pour résoudre ce problème, vous pouvez utiliser une approche comme :

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

Vous pouvez également utiliser l'inférence de type à l'aide de méthodes génériques :

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

var list = CreateList(o, o1);

La mise en œuvre de ces techniques vous permet de gérer efficacement les classes anonymes au sein de listes génériques.

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!

Déclaration:
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