Compilerfehler CS0269

Verwendung des nicht zugewiesenen out-Parameter „parameter“

Der Compiler konnte nicht überprüfen, ob der out-Parameter vor der Verwendung einem Wert zugewiesen wurde; der Wert kann undefiniert sein, wenn zugewiesen. Achten Sie darauf, dass Sie out-Parametern in der aufgerufenen Methode vor dem Zugriff auf den Wert einen Wert zuweisen. Wenn Sie den Wert der übergebenen Variablen verwenden müssen, verwenden Sie stattdessen einen ref-Parameter. Weitere Informationen finden Sie unter Methodenparameter.

Beispiel 1

Im folgenden Beispiel wird CS0269 generiert:

// CS0269.cs  
class C  
{  
    public static void F(out int i)  
    // One way to resolve the error is to use a ref parameter instead  
    // of an out parameter.  
    //public static void F(ref int i)  
    {  
        // The following line causes a compiler error because no value  
        // has been assigned to i.  
        int k = i;  // CS0269  
        i = 1;  
        // The error does not occur if the order of the two previous
        // lines is reversed.  
    }  
  
    public static void Main()  
    {  
        int myInt = 1;  
        F(out myInt);  
        // If the declaration of method F is changed to require a ref  
        // parameter, ref must be specified in the call as well.  
        //F(ref myInt);  
    }  
}  

Beispiel 2

Dies kann auch auftreten, wenn die Initialisierung einer Variablen, die in einem Try-Block auftritt, die der Compiler nicht überprüfen kann, erfolgreich ausgeführt wird:

// 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);  
    }  
}