O que é e como {}; funciona em c #? [duplicado]

Aug 24 2020

Ao verificar algum repo, descobri isso e me quebrou a cabeça.

Exemplo:

 var config = Config.GetConfig();
 var gen = new MatDocumenationGenerator(typeof(BaseMatDomComponent).Assembly,
            Path.Combine(config.Path, "MatBlazor.Demo", "Doc"));
 {
 }
 ;
 gen.Generate();

Como é possível ter { };dentro de um método? Por que não é um erro de compilação?

Não tenho certeza, mas talvez seja alguma característica da linguagem? Em caso afirmativo, para que serve ou para que serve? Como funciona?

Tentei pesquisar o que é isso, mas não sei nem como chamar isso, então, tem um nome para isso?

Respostas

4 RichN Aug 24 2020 at 13:02

É um código válido que não faz nada e é redundante. É quase certo que é um erro e pode ser removido sem afetar o programa. O compilador não avisa sobre tudo o que é redundante, embora eu concorde que possivelmente poderia e deveria neste caso.

1 KYL3R Aug 24 2020 at 12:56

Você pode usar {...}em quase todos os idiomas. Java, C ++, C # ... Simplesmente abre um escopo que define o tempo de vida das variáveis ​​que vivem na pilha (não na pilha)

Exemplo:

void someFunction () { 
    // some code here
    {
        var a = 5;
    }

    // 'a' does not exist anymore after the '}'

}