#6 C#で学ぶループの基本

C#のループは、Javaとよく似た書き方に加えて、コレクションを扱いやすいforeach文が用意されています。この記事では、C#におけるループの基本を解説します。

for文の基本

for (int i = 0; i < 5; i++) { Console.WriteLine(i); }

foreach文

配列やリストの中身を1つずつ処理したい場合は、`foreach`を使います。

string[] fruits = {"りんご", "みかん", "ぶどう"}; foreach (string fruit in fruits) { Console.WriteLine(fruit); }

Javaの拡張for文にあたる書き方で、`foreach`という専用のキーワードが用意されているのがC#の特徴です。インデックス番号も一緒に使いたい場合は、`Select`と組み合わせる方法があります。

foreach (var (fruit, index) in fruits.Select((f, i) => (f, i))) { Console.WriteLine($"{index}: {fruit}"); }

while文とdo-while文

int count = 0; while (count < 5) { Console.WriteLine(count); count++; }

「最低1回は処理を実行してから条件を判定したい」場合は、`do-while`文を使います。

int n = 0; do { Console.WriteLine(n); n++; } while (n < 5);

ループの制御:break/continue

特定の条件でループを抜けたい場合は`break`、その回だけスキップしたい場合は`continue`を使います。

for (int i = 0; i < 10; i++) { if (i % 2 == 0) continue; // 偶数はスキップ if (i > 7) break; Console.WriteLine(i); }

C#ならではの注意点

`foreach`はコレクションの中身を順番に取り出すだけの書き方のため、添字が必要な処理(例えば「3番目の要素だけ特別扱いしたい」など)には向いていません。そのような場合は従来の`for`を使うか、`Select`で添字を付与する方法を検討しましょう。また、`foreach`でコレクションの中身を走査しながら要素を追加・削除しようとすると、実行時に例外が発生する点もC#(および多くの.NET系コレクション)で共通する注意点です。要素を変更したい場合は、一度別のリストにコピーしてから処理するのが安全です。

まとめ

C#のループは`for`・`while`・`do-while`・`foreach`が基本です。コレクションの中身をシンプルに処理したいときは`foreach`を、走査中の変更が必要な場面では例外に注意して扱いましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

C#をもっと学びたい方には「確かな力が身につくC#「超」入門 第2版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本