2012-09-05 6 views
0

J'ai ce code:tableau multidimensionnel de Directory.GetLogicalDrives()

string[,] folders; 
folders = new string[,] { Directory.GetLogicalDrives() , Directory.GetLogicalDrives() }; 

Erreur: A nested array initializer is expected

Comment puis-je résoudre ce problème? i tryed tout ...

Avis: Je ne peux pas combiner les deux lignes de code en haut

Répondre

1

Je pense que vous voulez tableau de tableaux, pas un tableau multidimensionnel:

var folders = new string[][] { 
    Directory.GetLogicalDrives() , Directory.GetLogicalDrives() }; 

La raison est La taille des résultats des appels GetLogicalDrives n'a pas à correspondre et n'est connue qu'au moment de l'exécution de chaque appel.

+0

Merci! ça l'a résolu :) pouvez-vous s'il vous plaît m'expliquer la différence entre un tableau en 2 dimensions et celui en dents de scie? –

+0

Fondamentalement, si les deux dimensions sont connues et corrigées, vous pouvez utiliser un tableau multidimensionnel, sinon - dentelé. C'est à dire. Le champ tic-tac-toe est normalement représenté par un tableau de 2 dim comme il est toujours 3x3, même chose pour les calculs mathématiques comme la matrice 10x10. Dans la plupart des autres cas, vous avez une dimension connue et une autre variable - comme dans votre cas: 2 éléments qui sont des tableaux de longueur inconnue. Notez que la liste ou le dictionnaire <...> sont beaucoup plus souvent évoqués que les tableaux de taille fixe ... –

Questions connexes