使用System,如何将多维数组的内容转储到屏幕上?我只需要它来生成动态生成的二维数组。
我正在使用这种方法创建我的数组:
public static int[,] Alignment (int[] x, int[] y)
{
// initiate matrix to be filled
int[,] matrix = new int[x.Length,y.Length];
// fill first row to zeros
for (int i = 0; i < x.Length; i++)
{
matrix[i,0] = 0;
}
// fill first column to zeros
for (int j = 0; j < y.Length; j++)
{
matrix[0,j] = 0;
}
DumpMultiDArray(matrix);
return matrix;
}
我正在尝试在返回之前转储数组......
public static void DumpMultiDArray (int[,] MDArray)
{
for (int i = 0; i < MDArray.GetLength(1); i++)
// GetLength(1) can't seem to be found
}
答案 0 :(得分:3)
using System;
namespace DumpMatrix
{
class Program
{
static void Main(string[] args)
{
var matrix = new int[10, 15];
var rand = new Random();
for(int m=0; m<matrix.GetLength(0); ++m)
{
for(int n=0; n<matrix.GetLength(1); ++n)
{
matrix[m, n] = rand.Next(100);
}
}
for (int m = 0; m < matrix.GetLength(0); ++m)
{
for (int n = 0; n < matrix.GetLength(1); ++n)
{
Console.Write("{0,3} ", matrix[m, n]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}
输出:
59 94 90 99 74 42 86 11 91 36 77 47 33 64 82
2 27 7 57 92 16 19 63 21 4 50 46 89 47 22
40 22 16 87 30 53 50 79 6 66 59 27 54 73 29
95 48 9 89 5 39 37 41 60 7 40 31 69 95 23
95 96 63 68 96 55 31 46 34 28 52 47 1 90 32
89 64 89 92 8 1 36 0 42 83 3 80 55 79 90
22 80 84 82 71 62 63 85 77 73 64 2 75 60 52
91 35 50 27 18 75 41 77 86 21 58 96 21 84 92
74 75 66 44 6 71 63 19 19 70 25 78 12 18 44
98 61 40 89 92 67 29 27 61 14 81 3 97 60 12
在Visual Studio中,您可以单击装订线,然后以调试模式运行程序:
答案 1 :(得分:0)
我认为这就是你要找的东西。
int[][] array = {{0, 1, 2, 3}, {4, 5, 6, 7}};
for(int i = 0; i < array.length; i++)
{
for(int j = 0; j < array[i].length; j++)
{
Console.Write(String.Format("{0} ", array[i][j]));
}
Console.WriteLine("");
}</code>