65 votes

Un tableau de List en c#

Je veux avoir un tableau de listes. En c++ j'aime :

 List<int> a[100];

qui est un tableau de 100 listes. chaque liste peut contenir de nombreux éléments. Je ne sais pas comment faire cela en c#. Quelqu'un peut-il m'aider?

124voto

Guffa Points 308133

Tu aimes ça :

 List<int>[] a = new List<int>[100];

Vous avez maintenant un tableau de type List<int> contenant 100 références nulles. Il faut créer des listes et mettre dans le tableau, par exemple :

 a[0] = new List<int>();

26voto

Tormod Points 2280

Étant donné qu'aucun contexte n'a été donné à cette question et que vous êtes un utilisateur relativement nouveau, je veux m'assurer que vous savez que vous pouvez avoir une liste de listes. Ce n'est pas la même chose que array of list et vous l'avez demandé spécifiquement, mais néanmoins :

 List<List<int>> myList = new List<List<int>>();

vous pouvez les initialiser via des initialiseurs de collection comme ceci :

 List<List<int>> myList = new List<List<int>>(){{1,2,3},{4,5,6},{7,8,9}};

14voto

ja72 Points 9417

approche simple :

         List<int>[] a = new List<int>[100];
        for (int i = 0; i < a.Length; i++)
        {
            a[i] = new List<int>();
        }

ou approche LINQ

         var b = Enumerable.Range(0,100).Select((i)=>new List<int>()).ToArray();

4voto

Zuabros Points 186

Je peux vous suggérer de créer et d'initialiser votre tableau sur la même ligne en utilisant linq :

 List<int>[] a = new List<int>[100].Select(item=>new List<int>()).ToArray();

3voto

BrokenGlass Points 91618
List<int>[]  a = new List<int>[100];

Vous devrez quand même allouer chaque liste individuelle dans le tableau avant de pouvoir l'utiliser :

 for (int i = 0; i < a.Length; i++)
    a[i] = new List<int>();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X