2021年12月09日
川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説!total 557 count

foreach: コレクションの中味の数だけ繰り返せ!

Written By: 川俣 晶連絡先

この章のテーマ §

 列挙の基本、foreach文(ステートメント)を学びます。データの数が増えてもこれがあれば安心です。

前提知識 §

Console.WriteLineメソッド, 文字列の基礎, 配列の基礎, string型

解説 §

 foreach文は以下のような書式で使用し、列挙可能なオブジェクトの中味を列挙します。

  • foreach(型名 変数名 in 列挙可能なオブジェクト) 繰り返す文

 列挙可能なオブジェクトとは、配列、文字列、コレクションと呼ばれるオブジェクトなどなどです。

 条件は複数あるので、分かりにくいのですが、おおむね配列とコレクションと呼ばれるオブジェクトは列挙できると覚えておけば当面は十分でしょう。

 ここでいう列挙とは、たとえば1,2,3という要素を持った配列なら、対象の文を3回実行することを意味します。その際、foreach文の中で宣言される変数であるループ変数の中味は1回ごとに1,2,3と変化します。

 馬鹿正直に繰り返すだけかと思われるかも知れませんが、LINQのようなコレクションを加工する機能を併用すると、とても強力に使えます。LINQを学ぶときに思いだして下さい。

罠の数々 §

  • 文字列を列挙すると1文字単位で取得できる。この場合の1文字はchar型のデータ1つという意味で、厳密な意味で1文字に対応しないかもしれない
  • 列挙はbreak文などで中断ができる。常に最後まで繰り返しが行われるわけではない
  • 繰り返しの中に繰り返しを入れることもできる。そういう時はループ変数の名前を変えておく必要がある
  • forech文は何回繰り返すか指定する必要はない。列挙対象の数だけ繰り返すからである

参考リンク §

反復ステートメント (C# リファレンス)

サンプルソース: kw_foreach §

string[] myArray = new string[3];

myArray[0] = "たろう";

myArray[1] = "ジョー";

myArray[2] = "ねこ";

foreach (var item in myArray)

{

    Console.WriteLine($"{item}さん、ハロー!");

}

実行結果 §

たろうさん、ハロー!

ジョーさん、ハロー!

ねこさん、ハロー!

リポジトリ §

https://github.com/autumn009/CSharpPrimer2

練習問題 §

 以下のプログラムの実行結果を予測してみよう。

int[] a = new int[3];

a[0] = 100;

a[1] = 200;

foreach (var item in a) Console.Write("GO!");

  1. GO!
  2. GO!GO!
  3. GO!GO!GO!
  4. 100200
  5. 1002000

[[解答]]

Facebook

キーワード【 川俣晶の縁側ソフトウェアnew_C#入門・全キーワード明快解説!
【new_C#入門・全キーワード明快解説!】の次のコンテンツ
2021年
12月
10日
for: 万能無敵の繰り返し制御・強力すぎてごめんなさい
3days 1 count
total 461 count
【new_C#入門・全キーワード明快解説!】の前のコンテンツ
2021年
12月
08日
return: メソッドの実行結果を伝えよう
3days 1 count
total 422 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20211209104432
サイトの表紙【new_C#入門・全キーワード明快解説!】の表紙【new_C#入門・全キーワード明快解説!】のコンテンツ全リスト 【new_C#入門・全キーワード明快解説!】の入手全リスト 【new_C#入門・全キーワード明快解説!】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.