C#の2次元配列のループ処理を勉強しているのですが、以下のコードの出力結果がなぜそうなるのかが理解できません
ご教授お願いします。
paiza
C#入門編5: 多次元配列を理解しよう より
https://paiza.jp/works/cs/primer/beginner-cs5/9704
自分は出力結果は
0 1 2
0 1 2
0 1 2
0 1 2
になるのではないかと思っています。
iは要素数だけ処理を繰り返すものだと思っています。
この場合teamsの中は要素が4つあるのでループを4回繰り返す
jの繰り返す条件は、 j<teams[i].Length;なので、{}の中の要素の数だけ処理を繰り返す
この場合は3回繰り返すのでjの出力結果は 0 1 2 になると思っています。
Console.Write(i);をコメントアウトして、Console.Write(j);だけを出力すると自分の仮説通りの出力結果になるのですが、iも出力すると以下の出力結果になるのが理解できません。
なぜ1回のループが終わるごとに数が10ずつ増えているのでしょうか?
// 2次元配列をループで処理する using System; public class Lesson05 { public static void Main() { string[][] teams = { new string[] {"勇者", "戦士", "魔法使い"}, new string[] {"盗賊", "忍者", "商人"}, new string[] {"スライム", "ドラゴン", "魔王"}, new string[] {"踊り子", "僧侶", "アーチャー"} }; for (int i=0;i<teams.Length;i++) { for (int j =0; j<teams[i].Length;j++) { Console.Write(i); Console.Write(j); Console.Write(" "); } Console.WriteLine(); } } }
出力結果
00 01 02
10 11 12
20 21 22
30 31 32
回答2件
あなたの回答
tips
プレビュー