Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O nome «identificador» não existe no contexto atual
Foi feita uma tentativa de usar um nome que não existe na classe, namespace ou escopo. Verifique a ortografia do nome e verifique suas using diretivas e referências de assembly para certificar-se de que o nome que você está tentando usar está disponível.
Este erro ocorre frequentemente se você declarar uma variável em um loop ou um bloco ou if etry, em seguida, tentar acessá-la a partir de um bloco de código anexado ou um bloco de código separado, conforme mostrado no exemplo a seguir:
Nota
Este erro também pode ser apresentado quando falta o greater than símbolo no operador => em uma expressão lambda. Para obter mais informações, consulte expressão 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);
}
}
}
O exemplo a seguir resolve o erro:
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);
}
}
}