この章のテーマ §
C#のステートメント(文)の基本について学びます。個別のステートメント(文)については、個々の項目で説明します。
前提知識 §
Console.Writeメソッド, Console.WriteLineメソッド, 文字列の基礎, for文
解説 §
ステートメント(文)はC#プログラムの重要な構成要素です。
一般的にプログラムは文を並べることで構成され、特に指定が無い限り書かれた順番に実行されます。
言語仕様的な正しさは横に置いて、一般的な使い方をしていると、文はおおむね以下の3つに分類できます。
- 自作のメソッド呼び出し
- ライブラリのメソッド呼び出し
- 組み込みステートメント
コメントは文のように見える場合もありますが、ステートメントではありません。コメントは、プログラマが説明をソースコードに残したいときに使います。書き方は2つあります。//と書くと行末までは何を書いてもエラーになりません。/* ~ */と書くと、中間には何を書いてもエラーになりません。自由に説明文を書けます。プログラムの動作には一切影響を与えません。ですから、これはC#ではステートメントではありません。ただし、他のプログラミング言語ではコメントもステートメントになっている場合があります。
自作のメソッド呼び出しは、自分で作成したメソッドを呼び出します。繰り返し使用されるコードは1回だけ書いておけば、それを呼び出すだけで何回でも使用できてお得です。
ライブラリのメソッド呼び出しは、大切です。使いたい機能が既にライブラリにある場合、それを使うと時短になるからです。ライブラリは標準にものと、標準以外のものがあります。nugetなどの機能を使うと簡単に標準以外のライブラリを使用できるので、覚えておきましょう。
組み込みステートメントは、条件判断のif文や、繰り返しのfor文など、最初からC#に組み込まれている基本的な機能です。
罠の数々 §
- 自作のメソッド呼び出しとライブラリのメソッド呼び出しの差は実は無い。だから、同名のメソッドを自作してしまうとライブラリのメソッドが呼び出せないという事態も起こる (これを回避するために、名前空間などの様々な機能がある。それらは、個々の機能の説明で解説する)
- 組み込みステートメントの中には、別のステートメントが後続するものがある。たとえば、if文の場合、"if 条件式 成立時に実行する文 else そうではないときに実行する文"と書くと2つの文が後続することになる
- 文1を1つだけ書ける機能が多く存在するが、複文{}と組み合わせると文をいくつでも書けるようになる
参考リンク §
ステートメント (C# プログラミング ガイド)
サンプルソース: statementsBasic §
// コメント
sub(); // 自作のメソッド呼び出し
for (int i = 0; i < 10; i++) Console.Write(i); // forは組み込みステートメント
Console.WriteLine("Hello, World!"); // ライブラリのメソッド呼び出し
// 自作メソッド本体
static void sub() => Console.WriteLine("Hello from sub method");
実行結果 §
Hello from sub method
0123456789Hello, World!
リポジトリ §
https://github.com/autumn009/CSharpPrimer2
練習問題 §
以下のプログラムの実行結果を予測してみよう。
Console.Write("2");
Console.Write("1");
Console.Write("3");
- 123
- 213
- 321
- 走らせてみるまで分からない
- 並び順が間違っているというエラーになる
[[解答]]