Comment convertir une Array
en un List<object>
en C #?
List<object> list = myArray.Cast<Object>().ToList();
Si le type des éléments du tableau est un type de référence, vous pouvez omettre la fonction .Cast<object>()
car la C-4 a ajouté une co-variance d'interface, c'est-à-dire qu'un IEnumerable<SomeClass>
peut être traité comme un IEnumerable<object>
.
List<object> list = myArray.ToList<object>();
Utilisez le constructeur: new List<object>(myArray)
List<object>.AddRange(object[])
devrait faire l'affaire. Cela évitera toute sorte d’allocation de mémoire inutile .. Vous pouvez aussi utiliser Linq, un peu comme ceci: object[].Cast<object>().ToList()
Le constructeur List <> peut accepter tout ce qui implémente IEnumerable, donc ...
object[] testArray = new object[] { "blah", "blah2" };
List<object> testList = new List<object>(testArray);
private List<object> ConvertArrayToList(object[] array)
{
List<object> list = new List<object>();
foreach(object obj in array)
list.add(obj);
return list;
}
Si élément de tableau et élément de liste sont identiques
List<object> list=myArray.ToList();
Tout ce que tout le monde dit est correct alors
int[] aArray = {1,2,3};
List<int> list = aArray.OfType<int> ().ToList();
transformerait un tableau en liste, liste. Cependant, la principale chose qui manque dans beaucoup de commentaires est que vous devez avoir ces 2 instructions using
using System.Collections.Generic;
using System.Linq;
J'espère que ça aide!
Vous pouvez également initialiser la liste avec un tableau directement:
List<int> mylist= new List<int>(new int[]{6, 1, -5, 4, -2, -3, 9});
Voici ma version:
List<object> list = new List<object>(new object[]{ "test", 0, "hello", 1, "world" });
foreach(var x in list)
{
Console.WriteLine("x: {0}", x);
}
autrement
List<YourClass> list = (arrayList.ToArray() as YourClass[]).ToList();
Cela vous permet d'envoyer un objet:
private List<object> ConvertArrayToList(dynamic array)
Tu peux essayer ça,
using System.Linq;
string[] arrString = { "A", "B", "C"};
List<string> listofString = arrString.OfType<string>().ToList();
Espérons que ce code vous aide.