C# while 文と do-while 文をマスターする:構文、例、ベストプラクティス
C# while 文と do-while 文をマスターする
C# の while ループと do…while ループの実装方法、それらの違い、クリーンで効率的なコードを書くためのベストプラクティスを学習します。
ソフトウェア開発では、コレクションの反復処理、ユーザー入力の処理、計算の実行など、コードブロックの繰り返し実行が一般的です。手動での繰り返しはエラーを招きやすく可読性も低いため、ループが簡潔でスケーラブルな解決策を提供します。この記事では、C# の 2 つの主要なループ構造である while と do…while について、それぞれの異なる動作を掘り下げます。
C# while ループ
while キーワードは、本体を実行する前に条件を評価するループを開始します。その構文は多くのモダン言語と同様です:
while (testExpression) {
// ループ本体
}
while ループの仕組み
- ブール型の
testExpressionが評価されます。 - 式が
trueの場合、ループ本体が実行され、その後再び式が評価されます。 - 式が
falseになるとループが終了します。
while ループのフローチャート
例 1:基本的な while ループ
using System;
namespace Loop {
class WhileLoop {
public static void Main(string[] args) {
int i = 1;
while (i <= 5) {
Console.WriteLine("C# While Loop: Iteration {0}", i);
i++;
}
}
}
}
出力:
C# While Loop: Iteration 1 C# While Loop: Iteration 2 C# While Loop: Iteration 3 C# While Loop: Iteration 4 C# While Loop: Iteration 5
ループは i = 1 で開始し、i が 5 以下である限り継続し、各サイクルで i をインクリメントします。i が 6 になると条件が失敗し、ループを抜けます。
例 2:最初の 5 つの自然数の合計
using System;
namespace Loop {
class WhileLoop {
public static void Main(string[] args) {
int i = 1, sum = 0;
while (i <= 5) {
sum += i;
i++;
}
Console.WriteLine("Sum = {0}", sum);
}
}
}
出力:
Sum = 15
この例では、ループが i の値を sum に累積し、i が 5 を超えるまで続きます。最終結果は 15 で、最初の 5 つの自然数の和のよく知られた公式を確認できます。
C# do…while ループ
do…while 構造は while に似ていますが、条件がループ本体の実行後に評価されます。これにより、初期条件に関係なく本体が少なくとも 1 回実行されることが保証されます。
do {
// ループ本体
} while (testExpression);
do…while ループの仕組み
- ループ本体が最初に実行されます。
testExpressionが評価されます。trueの場合、本体が繰り返されます。falseになるとループが終了します。
Do…While フローチャート
例 3:do…while を使った九九表
using System;
namespace Loop {
class DoWhileLoop {
public static void Main(string[] args) {
int i = 1, n = 5, product;
do {
product = n * i;
Console.WriteLine("{0} * {1} = {2}", n, i, product);
i++;
} while (i <= 10);
}
}
}
出力:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
このプログラムは 1 から 10 までの 5 の段を出力します。ループ本体が i <= 10 のチェック前に実行されるため、すべての 10 回の反復が確実に行われます。
C# における無限ループ
ループ条件が決して false にならない場合、ループは無限に実行されます。このような 無限ループ は、イベントループ、ゲームループ、長時間実行サービスなどのシナリオで意図的に使用されます。
無限 while ループ
while (true) {
// ループ本体
}
無限 do…while ループ
do {
// ループ本体
} while (true);
無限ループは控えめに使用し、常に明確な終了戦略(break 文や外部条件など)を用意して、リソース枯渇を防ぎましょう。
C言語
- SINUMERIK 840D CNCプログラミング:WHILEループ活用術
- C# キーワードと識別子:ルール、一覧、ベストプラクティス完全ガイド
- C# 演算子の優先順位と結合規則をマスターする:実践ガイド
- C# クラスとオブジェクト:堅牢な OOP の基礎
- C# 抽象クラスと抽象メソッドをマスターする:実践ガイド
- C# 部分クラスと部分メソッドを理解する
- C# sealed クラスとメソッドをマスターする:使用判断、実例、コードの安全性とパフォーマンス向上
- while文 vs do-while文:実践例で明確に比較
- C言語の定数とリテラル:型、使い方、ベストプラクティス
- C#の定数とリテラル:型、ルール、ベストプラクティス完全ガイド
- Javaで回文数を判定する:while文とfor文を使ったアルゴリズム