转储多维数组

时间:2011-11-02 01:59:37

标签: c# console

使用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
}

2 个答案:

答案 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>