En MonoDevelop je le code suivant qui compile:Pourquoi `new int [x] {}` ne serait-il pas valide?
int[] row = new int[indices.Count]{};
Cependant, au moment de l'exécution, je reçois:
Matrix.cs (53,53): Erreur CS0150: Une constante valeur est attendue (CS0150) (testmatrix)
Je sais ce que cela signifie d'erreur et me force à redimensionner le tableau:
int[] row = new int[indices.Count]{};
Array.Resize(ref row, rowWidth);
Est-ce quelque chose que j'ai juste à faire parce que j'utilise MonoDevelop sous Linux? J'étais certain que sous .Net 3.5 j'étais capable d'initialiser un tableau avec une variable contenant la largeur du tableau. Quelqu'un peut-il confirmer que c'est isolé? Si c'est le cas, je peux signaler le bug à bugzilla.
Le problème est probablement parce que vous mixez l'initialisation et l'initialisation de l'objet tableau. Retirez le '{}' et vous devriez aller bien. Aussi, j'ai essayé d'initialiser ce tableau dans gsharp sur OpenSuse11.2 et il échoue immédiatement avec le '{}' inclus. –