Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie można użyć zmiennej lokalnej "name", zanim zostanie zadeklarowana.
Przed jego zastosowaniem należy zadeklarować zmienną.
Przykład zmiennej używanej przed deklaracją
Poniższy przykład generuje CS0841:
// cs0841.cs
using System;
public class Program
{
public static void Main()
{
j = 5; // CS0841
int j;
}
}
Popraw błąd, przenosząc deklarację przed użyciem
Przenieś deklarację zmiennej przed wierszem, w którym występuje błąd.
using System;
public class Program
{
public static void Main()
{
int j;
j = 5;
}
}
Przykład zmiennej w tle typu
W poniższym przykładzie intencja była porównywana parameter z MyEnum.A. Ponieważ zmienna lokalna zadeklarowana później o tej samej nazwie typu, w tle typ MyEnum i MyEnum w tej metodzie nie odwołuje się już do zmiennej enum, ale odwołuje się do zadeklarowanej zmiennej lokalnej.
using System;
public enum MyEnum
{
A, B, C
}
public class C
{
public void M(MyEnum parameter)
{
// error CS0841: Cannot use local variable 'MyEnum' before it is declared
if (parameter == MyEnum.A)
{
return;
}
// Change the variable to 'myEnum' to avoid shadowing the 'MyEnum' type.
// This change also aligns with the C# coding conventions.
var MyEnum = parameter;
Console.WriteLine(MyEnum.ToString());
}
}