O que é e como {}; funciona em c #? [duplicado]
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
É 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.
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 '}'
}