{};とは何ですか。C#で動作しますか?[複製]

Aug 24 2020

いくつかのレポをチェックしているときに私はこれを見つけました、そしてそれは私の心を壊しました。

例:

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

{ };メソッド内に含めることはどのように可能ですか?なぜコンパイルエラーではないのですか?

よくわかりませんが、おそらくそれは言語のいくつかの機能ですか?はいの場合、これは何をするのですか、または何に使用されますか?使い方?

なにこれを調べてみたのですが、どう呼べばいいのかわからないので、名前はありますか?

回答

4 RichN Aug 24 2020 at 13:02

これは何もしない有効なコードであり、冗長です。これはほぼ間違いなく間違いであり、プログラムに影響を与えることなく削除できます。コンパイラーは、冗長なものすべてについて警告するわけではありませんが、この場合は可能性があり、そうすべきであることに同意します。

1 KYL3R Aug 24 2020 at 12:56

{...}ほぼすべての言語で使用できます。Java、C ++、C#...スタック(ヒープではなく)に存在する変数の存続期間を定義するスコープを開くだけです。

例:

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

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

}