文 (ステートメント : statement)

種類

文には次の2種があります。

  • セミコロンで終わる、単一行のコード (単一行ステートメント)
  • 1つのブロックを形成する、一連の単一行ステートメント
カテゴリ 機能 該当するステートメント
宣言ステートメント
(Declaration statements)
新しい変数または定数を定義する  
式ステートメント
(Expression statements)
値を計算する  
選択ステートメント
(Selection statements)
条件に基づいて、異なるコード セクションに分岐する if、else、switch、case
繰り返しステートメント
(Iteration statements)
配列などのコレクションをループしたり、条件が満たされるまでくり返し実行する do、for、foreach、in、while
ジャンプ ステートメント
(Jump statements)
  break、continue、default、gotoreturnyield
例外処理ステートメント
(Exception handling statements)
  throw、try-catch、try-finally、try-catch-finally
Checked と Unchecked
(Checked and unchecked)
算術オーバーフローをチェックするかどうか Checked と Unchecked - C# リファレンス | Microsoft Learn checkedunchecked
await ステートメント
(The await statement)
   
yield return ステートメント
(The yield return statement)
   
fixed ステートメント
(The fixed statement)
   
lock ステートメント
(The lock statement)
   
ラベル付きステートメント
(Labeled statements)
   
空のステートメント
(The empty statement)
何も処理をしない。処理をする必要はないが、ステートメントを記述する必要がある場合に「;」だけを記述する  

if

if (condition)
{
    then-statement;
}
else
{
    else-statement;
}
if-else - C# リファレンス | Microsoft Learn

conditionに指定できるのは、ブール型のみです。

bool a = true;
if (a) { } // OK

int x = 1;
if (x     ) { } // error CS0029: 型 'int' を 'bool' に暗黙的に変換できません
if (x != 0) { } // OK

switch

switch (expr)
{
    case case1:
        break;

    case case2:
        break;

    default:
        break;
}
C# switch ステートメント | Microsoft Learn

C# 7.0以降は、exprにはnull以外の式を指定できます。それより前は、

  • char
  • string
  • bool
  • intやlongのような整数値
  • enum

に制限されます。

goto

goto identifier;
goto ステートメント - C# リファレンス | Microsoft Learn

identifierに指定できるのは関数内のラベルのみで、関数の外へは移動できません。goto ステートメントでのラベルの使用 | Microsoft Learn

breakでは不可能な、2段以上のネストから抜けるのにgotoは有用です。

for (int i = 0; i < 5; i++)
{
    for (int k = 0; k < 5; k++)
    {
        if (k == 1) goto A;
    }
}

A:;

return

return [expression];
return ステートメント - C# リファレンス | Microsoft Learn

ラベル (label)

identifier : statement
ラベル付きステートメント | Microsoft Learn

statementは省略できません。何も記述する内容がないならば、空のステートメントとして「;」を記述します。

case constant-expression : statement
default : statement

制御フロー (flow of control)

制御フローとは、文を実行する順序です。フロー制御 (C# と Java の比較) | MSDN

Javaの制御フロー文

参考

参考書

Microsoft Learnから検索