1. ホーム
  2. c#

[解決済み] なぜC#は直前のステートメントがない{}コードブロックを許可するのですか?

2023-04-19 04:18:19

質問

なぜC#では、直前のステートメントがないコードブロック(例えば if , else , for , while )?

void Main()
{
    {   // any sense in this?
        Console.Write("foo");
    }
}

どのように解決するのですか?

あなたの言う文脈では、何の意味もありません。コンソールに定数文字列を書き込むことは、プログラムフローのどこででも同じように動作することになります。 1

その代わり、一般的にはいくつかのローカル変数のスコープを制限するために使用します。これをさらに詳しく説明すると ここで はこちら . を見てください。 João Angelo の回答 クリス・ウォリスさんの回答 に簡単な例があります。同じことがCスタイルの構文を持つ他のいくつかの言語にも当てはまると思いますが、この質問には関係ないでしょう。


1 もちろん、あなたが面白いことをしようと思って、独自の Console クラスを作成し、その中に Write() メソッドがあり、それは全く予期しないことをします。