新手求教。
初学C#的数组篇,有代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//自定义一个二维数组
int[,] arr = new int[3, 5] {{1,2,3,4,8},{5,6,7,8,8},{9,0,1,2,8}};
Console.Write("数组的行数为:");
Console.Write(arr.Rank); //获取二维数组的行数
Console.Write("\n");
Console.Write("数组的列数为:");
Console.Write(arr.GetUpperBound(arr.Rank - 1) + 1);//获取二维数组的列数
Console.Write("\n");
for (int i = 0; i <= arr.Rank; i++)
{
string str = "";
for (int j = 0; j < arr.GetUpperBound(arr.Rank - 1) + 1; j++)
{
str = str + Convert.ToString(arr[i, j]) + " ";
}
Console.Write(str);
Console.Write("\n");
}
Console.ReadLine();
}
}
}
运行结果是:
数组的行数为:2
数组的列数为:5
1 2 3 4 8
5 6 7 8 8
9 0 1 2 8
在此请教:
如此定义数组:
int[,] arr = new int[3, 5] {{1,2,3,4,8},{5,6,7,8,8},{9,0,1,2,8}};
运行结果的数组行数是2,为什么不是3呢?
------解决方案--------------------Array.Rank属性不是行数,而是数组的维数,比如new int[3, 5] 生成的数组是二维数组,Rank就是2,new int[6, 5,3]生成的数组维数是3,那么Rank就是3,
所以arr.Rank显然是2,因为这个数组是二维数组,