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.
Nazwa "identifier" nie istnieje w bieżącym kontekście
Podjęto próbę użycia nazwy, która nie istnieje w klasie, przestrzeni nazw lub zakresie. Sprawdź pisownię nazwy i sprawdź using dyrektywy i odwołania do zestawu, aby upewnić się, że nazwa, której próbujesz użyć, jest dostępna.
Ten błąd występuje często w przypadku deklarowania zmiennej w pętli lub bloku lub try if , a następnie próby uzyskania dostępu do niej z otaczającego bloku kodu lub oddzielnego bloku kodu, jak pokazano w poniższym przykładzie:
Uwaga
Ten błąd może być również wyświetlany, gdy brakuje symbolu greater than operatora w wyrażeniu => lambda. Aby uzyskać więcej informacji, zobacz wyrażenie lambdas.
using System;
class MyClass1
{
public static void Main()
{
try
{
// The following declaration is only available inside the try block.
var conn = new MyClass1();
}
catch (Exception e)
{
// The following expression causes error CS0103, because variable
// conn only exists in the try block.
if (conn != null)
Console.WriteLine("{0}", e);
}
}
}
Poniższy przykład usuwa błąd:
using System;
class MyClass2
{
public static void Main()
{
// To resolve the error in the example, the first step is to
// move the declaration of conn out of the try block. The following
// declaration is available throughout the Main method.
MyClass2 conn = null;
try
{
// Inside the try block, use the conn variable that you declared
// previously.
conn = new MyClass2();
}
catch (Exception e)
{
// The following expression no longer causes an error, because
// the declaration of conn is in scope.
if (conn != null)
Console.WriteLine("{0}", e);
}
}
}