【C#】foreach文で最後だけ出力を変更したい
foreach (型 変数名 in 配列名もしくはコレクション名) { 実行する処理 }
配列やコレクションといった複数の要素を持っているものからすべての要素に含まれる値を順番に取り出して処理するために使われます。
記載方法も、for文より簡潔に記載できるため読みやすいという利点があります。
すべての要素を順番に取り出していることもあり、基本的には要素を変更するように使うことは少ないかと…(その場合は通常for文を使用するのが良い)
string[] hairetu = new string[] {"1","2","3"}; foreach (String str in hairetu) { Console.WriteLine(str); } // 実行結果 1 2 3
上記の場合の拡張for文の最後の要素を出力しないようにコードを記載するとしたら次のように記載すれば、最後の要素の制御は可能です。
string[] hairetu = new string[] { "1", "2", "3" }; int i = 1; foreach (String str in hairetu) { if (hairetu.Count() > i) { Console.WriteLine(str); } i++; } // 実行結果 1 2
制御するために、int や条件式で制御を掛ける必要があります。
なお、通常のfor文であれば、次のように記載すれば再現可能です。
string[] hairetu = new string[] { "1", "2", "3" }; for (int i = 0; i < hairetu.Count() - 1; i++) { Console.WriteLine(hairetu[i]); } // 実行結果 1 2
コメントを残す