Errore del compilatore CS0820

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile inizializzare una variabile locale tipizzata implicitamente con un inizializzatore di matrici
Cannot assign array initializer to an implicitly typed local

Una matrice tipizzata implicitamente è una matrice il cui tipo di elemento è derivato dal compilatore. Deve essere inizializzata mediante il modificatore new[] come illustrato nel codice di esempio.

Per correggere l'errore

  • Utilizzare il modificatore new[] con l'inizializzatore di matrice.

  • Non utilizzare una variabile locale tipizzata in modo implicito.

Esempio

Nel codice seguente viene generato l'errore CS0820 e viene mostrato come inizializzare correttamente una matrice tipizzata in modo implicito:

//cs0820.cs
class G
{
    public static int Main()
    {
       
        var a = { 1,2,3}; //CS0820
        // Try using one of the following lines instead.
        // var b = new[] { 1, 2, 3 }; 
       //int[] b = {1, 2, 3};
        return -1;
    }
}

Vedere anche

Riferimenti

Variabili locali tipizzate in modo implicito (Guida per programmatori C#)