Bonjour,

Suite à ma lecture de ceci dans un livre:
Il est possible de déclarer et de réserver un tableau (en une seule opération) à condition de l’initialiser
(bien qu’il soit effectué, new ne doit plus être écrit) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int[] t = {10, 5, 20};  // tableau initialisé de trois entiers
je me suis mis à recenser toutes les possibilités et combinaisons pour déclarer, allouer et remplir un tableau et voici les cas possibles:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
//I.  déclaration   //   allocation    // remplissage
       int[] t1;     t1 = new int[3];    for (int i = 1; i <= 3; i++) { t1[i] = i*10; }
 
//II. déclaration & allocation         // remplissage
       int[] t2 = new int[3];            for (int i =1; i <= 3; i++) { t1[i] = i*10; }
 
//III. déclaration  //  allocation  &  remplissage
       int[] t3;          t3 = new int[]  { 10, 20, 30 };
                    //ou: t3 = new int[3] { 10, 20, 30 };
                    // la valeur entre crochets si elle est présente
                    // doit être le nombre exact de valeurs d’initialisation,
                    // sinon erreur de syntaxe.
//IV. déclaration & allocation & remplissage
          int[] t4 = { 10, 20, 30 };
    //ou: int[] t4 = new int[]  { 10, 20, 30 };
    //ou: int[] t4 = new int[3] { 10, 20, 30 };
    // même remarque que précédemment
Edit:
Comme vous pouvez le constater:
  • dans le cas II on peut bien déclarer et de réserver un tableau (en une seule opération) sans l’initialiser (dans la même opération).

  • et dans le cas IV on peut bien spécifier le new.

En tout cas c'est le cas avec mon VS2008.

Ceci est juste un constat, pour contribuer à clarifier le sujet pour un débutant en C#, comme moi.
et j'aimerai bien avoir l'avis de programmeurs expérimentés.
surtout que le livre en question à fait des remarques, à mon avis, fausses.

Merci.