Maison >développement back-end >C++ >Comment puis-je convertir efficacement un System.Array en une liste en C# ?

Comment puis-je convertir efficacement un System.Array en une liste en C# ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 00:56:09160parcourir

How Can I Efficiently Convert a System.Array to a List in C#?

Conversion de System.Array en List : un guide pratique

System.Array peut-il être converti en List, une question courante qui a suscité les deux intrigue et débat sur sa faisabilité ? Étonnamment, la réponse est un oui catégorique.

Pour convertir un tableau en liste, on peut instinctivement se tourner vers OfType<>(). Cependant, cette approche est loin d'être optimale, comme le démontre l'exemple ci-dessous :

Array ints = Array.CreateInstance(typeof(int), 5);
ints.SetValue(10, 0);
ints.SetValue(20, 1);
ints.SetValue(10, 2);
ints.SetValue(34, 3);
ints.SetValue(113, 4);

// List<int> lst = ints.OfType<int>(); // Not recommended

Épargnez-vous le mal de tête et optez plutôt pour les solutions suivantes :

int[] ints = { 10, 20, 10, 34, 113 };

// Using ToList()
List<int> lst = ints.OfType<int>().ToList();

// Creating a new List
List<int> lst = new List<int> { 10, 20, 10, 34, 113 };

// Initializing and adding elements
List<int> lst = new List<int>();
lst.Add(10);
lst.Add(20);
lst.Add(10);
lst.Add(34);
lst.Add(113);

// Initializing with an array
List<int> lst = new List<int>(new int[] { 10, 20, 10, 34, 113 });

// Using AddRange()
var lst = new List<int>();
lst.AddRange(new int[] { 10, 20, 10, 34, 113 });

Ces méthodes offrent plus des moyens efficaces et simples de convertir de System.Array en List. Choisissez l'approche qui correspond le mieux à vos besoins et bon codage !

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