「.NET」ループの風「do」ステートメントの華麗なる反復処理

2024年11月9日土曜日

キーワード(構文) 基本 制御フロー

t f B! P L

名前空間 System

ごきげんよう、ループ四麗人の一人、doでございます

私はループの四風の一人の最後の一人、何度でも繰り返すことに特化したお嬢様ですわ。今日はその機能と使い方を教えて差し上げますわね。


doの基本機能

doは、whileと違い少なくとも一度はループの内部処理を実行するという、まるで、一度は踊らなければならないダンスのように、必ず最初の実行を約束してくれるのです。

C#
    1  using System;
    2  
    3  class Program
    4  {
    5      static void Main()
    6      {
    7          int counter = 0;
    8          // do ステートメントの開始
    9          do
    10         {
    11             Console.WriteLine("カウント: " + counter);
    12             counter++; // カウンタを増加させる
    13         }
    14         while (counter < 10); // 条件が満たされるまでループ
    15     }
    16 }
  

なぜdoステートメントを選ぶのか

doは、後置条件付きループのため、条件が判定される前に必ず一度はループの内容を実行したい場合に最適でございます。これは、ユーザー入力の確認や初期化の処理などにおいて特に便利です。

doの使い方

優雅に使いこなすためには、適切な条件設定とループ内の処理が肝要です。以下のサンプルコードをご覧くださいませ。

C#
    1  using System;
    2  
    3  class ElegantLoop
    4  {
    5      static void Main()
    6      {
    7          int number;
    8          // ユーザーに正の数を入力させる
    9          do
    10         {
    11             Console.Write("正の数を入力してください: ");
    12             number = Convert.ToInt32(Console.ReadLine());
    13         }
    14         while (number <= 0); // 正の数が入力されるまでループ
    15 
    16         Console.WriteLine("入力された数は " + number + " です。");
    17     }
    18 }
  

優れたコードの書き方

優れたコードを書くためには、ループの条件と範囲を慎重に設計することが大切です。特にdoのように必ず一度は処理が実行される場合、その一回目の処理がどのように影響を与えるかをしっかり理解することが重要です。

doの危険性との戦い

最後に、少々の危険性についても触れておかねばなりません。条件が適切に設定されていない場合、無限ループに陥る可能性がございます。そのため、条件式とループの設計には特に注意が必要です。

C#
    1  using System;
    2  
    3  class LoopDanger
    4  {
    5      static void Main()
    6      {
    7          int counter = 0;
    8          // 不適切な条件設定の例
    9          do
    10         {
    11             Console.WriteLine("このメッセージは無限に表示されます。");
    12             counter--; // 条件が達成されない
    13         }
    14         while (counter >= 0); // この条件は常に真となる
    15     }
    16 }
  

以上、私、doの機能と使い方のご紹介でした。

これで少しでも皆様のお役に立てたならば、嬉しく思います。どうぞ、これからも優雅なコードを書き続けてくださいませ。

このブログを検索

QooQ