今回は、C#でよく使われるdo-while文について詳しく解説します。
do-while文は、条件式がfalseでも最低1回は処理を実行するループ構造です。
本記事では、do-while文の基本的な使い方から応用例まで、サンプルコードを交えてわかりやすく解説していきます。
do-while文とは
do-while文は、条件式がtrueである限り、繰り返し処理を行う制御構造の一つです。
どのような条件であっても必ず一回は実行されるため、1~n回ループする処理に適しています。
do-while文の使い方
do-while文は、while文と同じく繰り返し処理を行うための制御構造の一つです。
ただし、while文と異なり、最初に条件式を判定するのではなく、まず一度ブロック内の処理を実行してから条件式を判定します。
do-while文の繰り返し条件
do-while文は以下のように書きます。
do
{
// 繰り返したい処理
} while (条件式);
この場合、まずブロック内の処理が実行されます。その後、条件式が評価されます。条件式がtrueであれば、再度ブロック内の処理が実行されます。これを条件式がfalseになるまで繰り返します。
do-while文の利用例
例えば、1から10までの数字を順番に表示するプログラムを作成する場合、以下のようにdo-while文を使用することができます。
int i = 1;
do
{
Console.WriteLine(i);
i++;
} while (i <= 10);
このプログラムでは、変数iに1を代入しています。その後、doブロック内でConsole.WriteLineメソッドによってiの値を表示し、i++によってiの値を1増やしています。
そしてwhileブロック内でiが10以下かどうか判定しています。iが10以下であれば再度doブロック内が実行されます。 このプログラムは以下のような出力結果となります。
1
2
3
4
5
6
7
8
9
10
以上がC#でdo-while文を使った繰り返し処理の基本的な使い方です。
do-while文の注意点
無限ループに注意
do-while文は、条件式がfalseである場合でも最低1回は処理を実行するため、条件式が常にtrueとなってしまうと無限ループが発生してしまいます。
そのため、条件式を適切に設定することが重要です。 以下は無限ループが発生してしまう例です。
int i = 0;
do
{
Console.WriteLine(i);
} while (i < 5);
この場合、変数iの値が常に0であり、条件式i < 5
が常にtrue
となるため、無限ループが発生してしまいます。このような場合は、条件式を修正する必要があります。
変数の初期化に注意
do-while文では、最初に処理を実行した後に条件式を評価するため、変数の初期化を忘れると思わぬ結果となってしまうことがあります。 以下は変数の初期化を忘れた場合の例です。
int i;
do
{
Console.WriteLine(i); //エラー
i++;
} while (i < 5);
この場合、変数iの初期値が未定義であるため、コンパイルエラーが発生します。そのため、変数の初期化を忘れずに行うよう注意しましょう。