Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Användning av den otilldelade parametern "parameter"
Kompilatorn kunde inte verifiera att out-parametern tilldelades ett värde innan den användes. dess värde kan vara odefinierat när det tilldelas. Se till att tilldela ett värde till out
parametrar i den anropade metoden innan du kommer åt värdet. Om du behöver använda värdet för variabeln som skickades in använder du en ref
parameter i stället. Mer information finns i Metodparametrar.
Följande exempel genererar CS0269:
// 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);
}
}
Detta kan också inträffa om initieringen av en variabel inträffar i ett försöksblock, som kompilatorn inte kan verifiera kommer att köras:
// 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 om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback: