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);
}
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für