Junior
O que é o escopo (scoped) em C#?
sobes.tech IA
Resposta da IA
O âmbito em C# determina a disponibilidade de variáveis, métodos e tipos numa parte específica do programa. É uma restrição sobre onde no código um identificador determinado pode ser utilizado.
Principais áreas de âmbito:
- Bloco de código: As variáveis declaradas dentro de chaves
{ }estão disponíveis apenas dentro desse bloco. - Âmbito do método: As variáveis e parâmetros declarados dentro de um método estão disponíveis apenas dentro desse método.
- Âmbito da classe/estrutura: Os membros de uma classe ou estrutura (campos, propriedades, métodos) estão disponíveis dependendo dos modificadores de acesso (public, private, protected, internal).
- Âmbito do espaço de nomes: Os tipos declarados no espaço de nomes estão disponíveis nesse espaço de nomes e em outros espaços de nomes onde
usingé utilizado. - Âmbito do assembly: Os tipos com o modificador
internalestão disponíveis apenas dentro do assembly atual.
Exemplo de âmbito de bloco de código:
public void ExampleMethod()
{
int x = 10; // x está disponível apenas dentro de ExampleMethod
if (x > 5)
{
int y = 20; // y está disponível apenas dentro do bloco if
Console.WriteLine(y);
}
// Console.WriteLine(y); // Erro de compilação: y não está disponível aqui
}