如何在C#中将2D数组打印到控制台

我没有任何代码,但我确实想知道如何做到这一点。 如果重要的话我使用visual studio 2010 C#。

谢谢

贾森

public static void Print2DArray(T[,] matrix) { for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.Write(matrix[i,j] + "\t"); } Console.WriteLine(); } } 

您应该阅读MSDN:将foreach与Arrays一起使用

 int[,] numbers2D = new int[3, 2] { { 9, 99 }, { 3, 33 }, { 5, 55 } }; // Or use the short form: // int[,] numbers2D = { { 9, 99 }, { 3, 33 }, { 5, 55 } }; foreach (int i in numbers2D) { System.Console.Write("{0} ", i); } 

//输出:9 99 3 33 5 55

你可以在一条线上打印出来

 int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; Console.WriteLine(String.Join(" ", array2D.Cast())); 

产量

 1 2 3 4 5 6 7 8 

像这样做:

 static public void Print2DArray(int[][] A) { foreach (int[] row in A) { foreach (int element in row) { Console.Write(element.ToString() + " "); } Console.WriteLine(); } } 

以下是一个例子……

 static void Main() { // A. 2D array of strings. string[,] a = new string[,] { {"ant", "aunt"}, {"Sam", "Samantha"}, {"clozapine", "quetiapine"}, {"flomax", "volmax"}, {"toradol", "tramadol"} }; // B. Get the upper bound to loop. for (int i = 0; i <= a.GetUpperBound(0); i++) { string s1 = a[i, 0]; // ant, Sam, clozapine... string s2 = a[i, 1]; // aunt, Samantha, quetiapine... Console.WriteLine("{0}, {1}", s1, s2); } Console.WriteLine(); } 
 int[,] matrix = new int[2, 2] { {2, 2}, {1, 1} }; for (int i = 0; i < matrix.GetLength(0); i++) { for (int k = 0; k < matrix.GetLength(1); k++ ) { //put a single value Console.Write(matrix[i,k]); } //next row Console.WriteLine(); } 
 private int[,] MirrorH(int[,] matrix) { int[,] MirrorHorizintal = new int[4, 4]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j ++) { MirrorHorizintal[i, j] = matrix[i, 3 - j]; } } return MirrorHorizintal; } 

试试这样..

  int[,] matrix = new int[3, 3] { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, }; int rowLength = matrix.GetLength(0); int colLength = matrix.GetLength(1); for (int i = 0; i < rowLength; i++) { for (int j = 0; j < colLength; j++) { Console.Write(string.Format("{0} ", matrix[i, j])); } Console.Write(Environment.NewLine + Environment.NewLine); } Console.Read(); 
 //The following are three ways to print any 2d arrays to console: int[,] twoDArray = new int[3, 4]{ {2,5,55,44},{10,45,5,22 },{ 67,34,56,77} }; Console.WriteLine("Array Code Out Method:1"); int rows = twoDArray.GetLength(0); // 0 is first dimension, 1 is 2nd //dimension of 2d array int cols = twoDArray.GetLength(1); for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { Console.Write("\t" + twoDArray[i, j]); //output: 2 5 55 44 10 45 5 22 67 34 56 77 } } Console.WriteLine("Array Code Out Method: 2"); for (int x = 0; x <= twoDArray.GetUpperBound(0); x++) { for (int y = 0; y <= twoDArray.GetUpperBound(1); y++) { Console.Write("\t"+ twoDArray[x,y]); //output: 2 5 55 44 10 45 5 22 67 34 56 77 } } Console.WriteLine("Array Code Out Method:3"); foreach (int items in twoDArray) { Console.Write(""+ "\t" +items); //output: 2 5 55 44 10 45 5 22 67 34 56 77 } //string example string[,] friendNames = new string[,] { {"Rosy","Amy"}, {"Peter","Albert"} }; foreach (string str in friendNames) { Console.WriteLine(str); }