Che cos'è e come funziona {}; funziona in c #? [duplicare]
Durante il controllo di alcuni repo ho scoperto questo e mi ha rotto la mente.
Esempio:
var config = Config.GetConfig();
var gen = new MatDocumenationGenerator(typeof(BaseMatDomComponent).Assembly,
Path.Combine(config.Path, "MatBlazor.Demo", "Doc"));
{
}
;
gen.Generate();
Com'è possibile avere { };
dentro un metodo? Perché non è un errore di compilazione?
Non ne sono sicuro ma forse è qualche caratteristica della lingua? Se sì, cosa fa o viene utilizzato? Come funziona?
Ho provato a cercare cos'è questo, ma non so nemmeno come chiamarlo, quindi, c'è un nome per questo?
Risposte
È un codice valido che non fa nulla ed è ridondante. È quasi certamente un errore e potrebbe essere rimosso senza influire sul programma. Il compilatore non avverte di tutto ciò che è ridondante, anche se sono d'accordo che potrebbe e dovrebbe in questo caso.
Puoi usarlo {...}
in quasi tutte le lingue. Java, C ++, C # ... Apre semplicemente uno Scope che definisce la durata delle variabili che vivono sullo Stack (non sull'heap)
Esempio:
void someFunction () {
// some code here
{
var a = 5;
}
// 'a' does not exist anymore after the '}'
}