二维数组的行数可以使用Length属性获得,但由于C#中支持不规则数组,因此二维数组中每一行中的列数可能不会相同 如何获取二维数组中每一维的列数呢? 答案还是Length属性,因为二
二维数组的行数可以使用Length属性获得,但由于C#中支持不规则数组,因此二维数组中每一行中的列数可能不会相同
答案还是Length属性,因为二维数组的每一维都可以看做一个一维数组,而一维数组的长度是可以使用Length属性获得。
例如,下面代码定义一个不规则二维数组,并通过遍历其行数、列数,输出二维数组中的内容,
代码如下:
staticvoid Main(string[] args)
{
int[][] arr = newint[3][];// 创建二维数组,指定行数,不指定列数
arr[0] = newint[5];// 第一行分配5个元素
arr[1] = newint[3];// 第二行分配3个元素
arr[2] = newint[4];// 第三行分配4个元素
for(int i=0;i<arr.Length;i++)//遍历行数
{
for(int j = 0; j <arr[i].Length; j++)//遍历列数
{
Console.Write(arr[i][j]);//输出遍历到的元素
}
Console.WriteLine();//换行输出
}
Console.ReadLine();
}
补充:C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?
int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组
int row = array.Rank;//获取维数,这里指行数
int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了。(0是第一维,1表示的是第二维)
int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这里表示二维数组的行数
int num = array.Length;//获取整个二维数组的长度,即所有元的个数
根据上述我们可以自己验证多维数组的形式,使用循环遍历操作数组,例如下面的四维数组:
int[,,,] arr = new int[9, 8, 7, 6];
arr.Rank;//返回4
arr.GetLength(0);//返回9
arr.GetLength(1);//返回8
arr.GetLength(2);//返回7
arr.GetLength(3);//返回6
arr.GetUpperBound(0)+1;//返回9
arr.Length;//返回3024
剩下的循环遍历数组并操作我就不需要解释了吧,自己根据上面的数子进行操作。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。
--结束END--
本文标题: c# 如何实现获取二维数组的列数
本文链接: https://lsjlt.com/news/123376.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0