Initialiser un tableau multidimensionnel
-
05-07-2019 - |
Question
Checkbox[,] checkArray = new Checkbox[2, 3]{{checkbox24,checkboxPref1,null}, {checkbox23,checkboxPref2,null}};
Je reçois une erreur. Comment l'initialiser?
La solution
OK, je pense voir ce qui se passe ici. Vous essayez d'initialiser un tableau au niveau classe en utilisant cette syntaxe, et l'une des cases à cocher est également une variable au niveau classe? Ai-je raison?
Vous ne pouvez pas faire ça. Vous ne pouvez utiliser que des variables statiques à ce stade. Vous devez déplacer le code init dans le constructeur. Au niveau de la classe, procédez comme suit:
CheckBox[,] checkArray;
Puis dans votre constructeur:
public Form1()
{
InitializeComponent();
checkArray = new CheckBox[2, 3] { { checkbox24,checkboxPref1,null}, {checkbox23,checkboxPref2,null}};
}
Autres conseils
int [,] myArray; myArray = new int [,] {{1,2}, {3,4}, {5,6}, {7,8}};
Fait pour moi ....
Tony
La seule chose qui cloche dans votre code, c'est qu'il s'agit d'une CheckBox, pas d'une Checkbox. Capital 'B'.
Assurez-vous que toutes vos variables (checkbox24, checkboxPref1, checkbox23 et checkboxPref2) sont de type CheckBox
Initialise chaque élément du tableau dans le constructeur et cela fonctionne. .