N次の多重ループ
public static void Write(int[] i) { string s = ""; for (int k = 0; k < i.Length; k++) { s += " " + i[k]; } Console.WriteLine(s); } public static int m = 4; public static void Recursive(int[] i, int j) { for (i[j] = 0; i[j] < m; i[j]++) { if (j == i.Length - 1) { SbiUtil.Write(i); } if (j + 1 < i.Length) { Recursive(i, j + 1); } } // i[j] = 0; // この行は不要。 } public MainForm() { int[] i = new int[4]; SbiUtil.Recursive(i, 0); }
自分でゼロから書いてみたものの、なんでこれで動くのか良く分からん。