-1

;ステートメントの後に追加を追加していることに気付くことがあります。

例:

Console.WriteLine("meow");;

それはアプリのパフォーマンスに影響しますか? 具体的には、C# について疑問に思っています。

4

3 に答える 3

9

いいえ、IL にコンパイルされないため無視されます。

于 2013-05-09T15:33:35.903 に答える
4

何もありません。コンパイラが生成する IL コードには影響しません。

ただし、コードを維持する必要がある同僚のパフォーマンスに影響を与える可能性があります...

次のような空のステートメントについて読むことに興味があるかもしれません。

bool ProcessMessage() {...}
void ProcessMessages() {
   while (ProcessMessage())
      ;
}
于 2013-05-09T15:33:56.507 に答える
1

いいえ。

コロンは言語の構文上の特徴であると考えてください。コンパイラはコードを読み取り、認識している構文に基づいて分析し、コードのセマンティクス(意味) を把握して構造 (通常は AST と呼ばれるツリー) に編成します。これは、コードの形式ではなく、そこからターゲット言語 (アセンブリ、バイトコード、その他の言語) で適切な表現に変換されるものです。

余分なセミコロンは余分な命令を意味するものではなく、単に構文上のノイズであるため、プログラムのコンパイラ モデルにも影響しません。このことからわかるように、余分な空白、過剰な改行などについても同じことが言えます。

ただし、すべての言語には、その言語に精通している人間がコードを読みやすくするための規則があります。セマンティックエラーがなく、無視してもパフォーマンスが低下しない場合でも、それらを尊重することをお勧めします。この場合、余分なセミコロンは実際に別の読者を困惑させます。

于 2013-05-09T15:41:57.450 に答える