Errore del compilatore CS0269

Aggiornamento: novembre 2007

Messaggio di errore

Utilizzo del parametro out 'parametro' non assegnato.
Use of unassigned out parameter 'parameter'

Non è stato possibile stabilire se al parametro out fosse assegnato un valore prima dell'utilizzo. Al momento dell'assegnazione pertanto, il valore del parametro out potrebbe non essere definito. Accertarsi che i parametri out siano inizializzati prima di accedere al valore. Se è necessario poter disporre del valore della variabile passata, utilizzare il parametro ref. Per ulteriori informazioni, vedere Passaggio di parametri (Guida per programmatori C#).

Esempio

Il seguente codice di esempio genera l'errore CS0269:

// CS0269.cs
class C
{
    public static void F(out int i)
    // Try this instead:
    // public static void F(ref int i)
    {
        int k = i;  // CS0269
        i = 1;
    }

    public static void Main()
    {
        int myInt;
        F(out myInt);
    }
}

Questo errore può essere visualizzato anche quando una variabile viene inizializzata in un blocco try, perché non è possibile verificare se in questo contesto l'operazione verrà completata.

// CS0269b.cs
class C
{
    public static void F(out int i)
    {
        try
        {
            // Assignment occurs, but compiler can't verify it
            i = 1;
        }
        catch
        {
        }

        int k = i;  // CS0269
        i = 1;
    }

    public static void Main()
    {
        int myInt;
        F(out myInt);
    }
}