2021年11月18日
川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説! total 855 count

空文(空のステートメント) : 何もしない空の文

Written By: 川俣 晶連絡先

この章のテーマ §

前提知識 §

Console.WriteLineメソッド, 文字列の基礎, 変数の基礎, 条件演算子, int型, for文

解説 §

 C#でソースコードを書いていると、しばしば【文法上何かステートメント(文)を書く必要があるが、特に書くことはない】という状況に遭遇します。

 サンプルソースの場合、【変数を2倍にする】【100未満であることを判定する】という役割はfor文の中で完結しており、for文に後続する文は特に必要とされていません。しかし文法的には何か文を書かねばなりません。

 こう言うときに使うのが空文(空のステートメント)です。

 書き方は簡単で区切りのセミコロン記号のみ書きます。

 これで文法的には1つの文と見なされますが、実行するものは何もなくなります。

罠の数々 §

  • コメントは空文にならない。コメント単に読み飛ばされるだけなので、完全に何もない状態と同じ扱いになる
  • 空の波括弧{}も【中味が何もない複文】となり、空文と同じように扱える
  • うっかり不要のセミコロン記号を書き込んでしまい意図しない動作になってしまうことは、うっかりミスの定番である。特にfor文やif文の後に意図しないセミコロン記号を書き込まないように注意しよう

参考リンク §

空のステートメント

サンプルソース: emptyStatement §

int a = 1;

for (; a < 100; a*=2) ; // 空文の使用例

Console.WriteLine($"1を2倍にし続けて最初に100以上になった値は{a}です。");

実行結果 §

1を2倍にし続けて最初に100以上になった値は128です。

リポジトリ §

https://github.com/autumn009/CSharpPrimer2

練習問題 §

 サンプルソースにセミコロン記号は合計5個書き込まれている。このうち空文にあたるのは何個だろうか。

  1. 0個
  2. 1個
  3. 2個
  4. 3個
  5. 5個

[[解答]]

単行本情報