c#中关于二维数组的输出 看我这个例子 解释下

int[,] arr = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; //自定义一个二维数组
Console.Write("数组的行数为:");
Console.Write(arr.GetLength(0)); //获得二维数组的行数
Console.Write("\n");
Console.Write("数组的列数为:");
Console.Write(arr.GetLength(1)); Console.Write("\n");
for (int i = 0; i < arr.GetLength(0); i++)
{
string str ="" ;//这里为什么要定义string 还是空的。
for (int j = 0; j < arr.GetLength(1); j++)
{
str = str + Convert.ToString(arr[i, j]) + " ";//这里又来个 字符加字符 为什么
}
Console.Write(str);//这里有输出字符串 明明定义的是int类型的二维。
Console.Write("\n");
}
Console.ReadLine();

第1个回答  2011-10-26
int[,] arr = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; //自定义一个二维数组
Console.Write("数组的行数为:");
Console.Write(arr.GetLength(0)); //获得二维数组的行数
Console.Write("\n");
Console.Write("数组的列数为:");
Console.Write(arr.GetLength(1));
Console.Write("\n");
for (int i = 0; i < arr.GetLength(0); i++)
{
string str = "";//这里为什么要定义string 还是空的。(定义这个字符串是为了输出2维数组的内容,比如arr[0,0]是1 arr[0,1]=2 他为了输出结果是:1 2 这种样式,只能靠字符串将他们连接起来,所以定义了这个字符串; 给他空值,这里是给字符串变量赋初始值空字符串,C#里变量不赋予初始值是不可以使用的)
for (int j = 0; j < arr.GetLength(1); j++)
{
str = str + Convert.ToString(arr[i, j]) + " ";//这里又来个 字符加字符 为什么(字符串+字符串是将两个字符串相连接,例如:string str1="123";string str2="456";str1+str2 的值就是 "123456" 这里就同上面已经提到的,比如arr[0,0]是1 arr[0,1]=2 他为了输出结果是:1 2 这种样式,只能靠字符串将他们连接起来 )
}
Console.Write(str);//这里有输出字符串 明明定义的是int类型的二维。(在上面的str = str + Convert.ToString(arr[i, j]) + " ";这里的Convert.ToString(arr[i, j])是一个将其他类型转化成字符串的方法,这里已经将int类型转化成了字符串类型了,这里就是字符串在操作,最后输出的也是字符串)
Console.Write("\n");
}
Console.ReadLine();
不明白的可以继续问!本回答被提问者采纳
第2个回答  2011-10-26
int a[m][n] void out(int (*p)[m]); 这样就可以8调用out函数了wvoid out(a); void out(int (*p)[m]) { for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { printf(。。。。。。。。) } } }u专