C#
 Computer >> コンピューター >  >> プログラミング >> C#

【C#入門】foreachループで配列を反復処理する方法をわかりやすく解説

C#におけるforeachループは、forループとよく似た構文ですが、大きな違いが1つあります。それは、配列やコレクション内の各要素に対して自動的に処理を繰り返すという点です。そのため、foreachループではインデックス(添字)を扱う必要がなく、コードがシンプルで読みやすくなります。

foreachループの基本構文

foreach (int p in arr)
    Console.Write(p + " ");

この例では、配列 arr の各要素が順番に変数 p に代入され、すべての要素に対して Console.Write が実行されます。ループカウンタや終了条件を記述する必要がないため、ミスも減らせます。

サンプルコード:バブルソートの結果をforeachで表示

それでは、実際の使用例を見てみましょう。以下はバブルソートで整数型配列を昇順に並べ替え、その結果をforeachループで表示する完全なプログラムです。

using System;
namespace BubbleSort {
    class MySort {
        static void Main(string[] args) {
            int[] arr = { 78, 55, 45, 98, 13 };
            int temp;
            for (int j = 0; j <= arr.Length - 2; j++) {
                for (int i = 0; i <= arr.Length - 2; i++) {
                    if (arr[i] > arr[i + 1]) {
                        temp = arr[i + 1];
                        arr[i + 1] = arr[i];
                        arr[i] = temp;
                    }
                }
            }
            Console.WriteLine("Sorted:");
            foreach (int p in arr)
                Console.Write(p + " ");
            Console.Read();
        }
    }
}

プログラムのポイント

  • 二重のforループで隣接する要素を比較し、大小関係が逆なら入れ替えることでソートを行っています。
  • ソート完了後、foreachループを使って配列の全要素を先頭から順に出力しています。

実行結果

Sorted:
13 45 55 78 98

このように、foreachループを使えば、配列の長さを意識することなく全要素へ簡単にアクセスできます。特に「全要素を順に処理したいだけ」という場面では、forループよりも簡潔に書けるため、積極的に活用するとよいでしょう。

  1. Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

    仕事でも家庭でも、テクノロジーを活用して生活を楽にする最良の方法の一つが「自動化」です。スクリプトや定时実行ジョブでタスクを自動化すれば、時間・手間・ストレスを大幅に節約できます。しかし、何から始めればよいのか分からないという方も多いはず。この記事では、IT自動化の基礎となるツールであるBashのforループコマンドの使い方を、初心者にも分かりやすく解説します。 テスト環境の準備 まず必要なのは、動作するBashの環境です。BashはLinux、Unix、BSD、macOSのターミナルにおけるデフォルトシェルです(zshを使用している場合を除く)。現在どのシェルを実行しているか確認するに

  2. MS Officeを無料で使う5つの方法|追加料金なしで賢く活用する裏ワザ

    MS Officeは、Windows環境において長年にわたり欠かせない存在であり続けてきました。文書作成からクリエイティブなプレゼンテーション制作まで、私たちの生活のさまざまな場面で活躍してきた万能ツールです。多くの方がPCにインストールするスタンドアロン版(単体版)のMS Officeを使用していますが、実はこのバージョンではすべてのアプリケーションや機能にアクセスできるわけではありません。近年はMS Officeの代替ソフトも数多く登場していますが、それでもやはり純正のMS Officeを選びたいという方が多いのではないでしょうか。MS Officeスイートを使う上で最も悩ましい問題の一つ