web-dev-qa-db-fra.com

Comment convertir un tableau en liste <objet> en C #?

Comment convertir une Array en un List<object> en C #?

67
BreakHead
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>();
93
CodesInChaos

Utilisez le constructeur: new List<object>(myArray)

34
Dan Puzey

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()

12
fjdumont

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);
8
Craig T
private List<object> ConvertArrayToList(object[] array)
{
  List<object> list = new List<object>();

  foreach(object obj in array)
    list.add(obj);

  return list;
}
5
Christian

Si élément de tableau et élément de liste sont identiques

List<object> list=myArray.ToList();
3
Prasanth V J

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!

2
Keith Davis

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});
1
Frank

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);
  }
0
sailfish009

autrement

List<YourClass> list = (arrayList.ToArray() as YourClass[]).ToList();
0
Masum

Cela vous permet d'envoyer un objet:

private List<object> ConvertArrayToList(dynamic array)
0
Fábio Correia

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.

0
Nitika Chopra