Maison >développement back-end >C++ >Les classes anonymes peuvent-elles être stockées dans des listes génériques C# ?
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!