WisdomSoft - for your serial experiences.

do文

繰り返し文の一種で、先に反復対象の文を実行してから条件を評価する do 文を紹介します。

反復条件の事後評価

while 文はループの開始前に式を評価します。 通常はこれで問題はありませんが、1 度は必ず繰り返し対象の文を実行したいという特殊なケースにおいて面倒が発生します。

while 文は条件式が最初から false を返す場合、1度も埋め込み文を実行せずに次へ制御を移します。条件式の結果に関係なく、少なくとも 1 度は繰り返し処理をする必要がある場合は do 文(do statement)を使用すると便利です。これは、最初に反復処理の対象となる文を実行し、その後に条件式を評価します。

do文
do  while (条件式);

文は条件式が true の間だけ繰り返し実行する任意の埋め込み文を指定します。繰り返すかどうかを判断する条件式は while キーワードの後に指定します。

図1 do文の流れ
do文の流れ

do 文は最初に文を実行し、その後に条件式を評価します。条件式が true ならば文を繰り返し実行し、条件式が false であれば次の処理へ制御を移します。

コード1
class Test
{
	static void Main()
	{
		int i = 100;
		do
		{
			System.Console.WriteLine(i + "回目のループです");
			i++;
		} while (i < 10);
	}
}
実行結果
コード1 実行結果

コード1は do 文で反復処理を記述しています。条件式には i 変数が 10 より小さければ繰り返すように指定していますが、i 変数は 100 で初期化しているため式は false となります。しかし do 文は式を評価する前に反復対象の埋め込み文を実行するため、条件が満たされていなくても 1 度は実行されます。