2010-04-15 5 views
2

Je ne sais pas pourquoi j'éprouve tant de mal à cela, mais je voudrais avoir un tableau qui représente essentiellement un numéro de couche et coordonnées x, y pour que je puisse dire essentiellement,3 Tableau dimensionnelle

int i = array [couche, x, y] et obtenir la valeur correspondante par couche. Je crée le tableau ..

int[,,] myarray 

... lsinitialisez

myarray = new int[0,width, height]; 

... et il explose lorsque vous essayez et de saisir une valeur.

int n = myarray[0,1,1] 

Que manque-t-il?

Répondre

3

Vous initialisez un tableau avec 0 comme longueur. Utilisez 1:

myarray = new int[1,width, height]; 
2
myarray = new int[0,width, height]; 

Vous venez de dire l'ordinateur que la longueur de la première dimension du tableau est 0. En gros, votre tableau peut contenir rien.

En C#, la valeur que vous utilisez dans la déclaration de tableau indique la longueur de la dimension. C'est différent que si vous venez d'un langage tel que Visual Basic, où la valeur indique la limite supérieure .

Dim array(4) as Integer 

tableau de 5 éléments entiers dans VB

int[] array = new int[4]; 

matrice de 4 éléments entiers en C#

1

Essayez d'utiliser une valeur non nulle pour la première dimension de tableau.

Questions connexes