Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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);
}
}