码迷,mamicode.com
首页 > 编程语言 > 详细

获取二维数组里面实际存有数据的行数

时间:2018-05-09 21:07:48      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:null   返回   new   4行   color   break   add   元素   demo   

写程序时遇到需要获取二维数组里面实际存有数据的行数,看到几篇博客中获取数组行数用的居然是array.Rank方法。这是获取维度的方法啊,我在下面贴出了我找到的正确的方法,很实用。

 

/// <summary>
/// 获取二维数组里面实际存有数据的行数
/// </summary>        
public static List<int> GetHasValueRowIndex(string[,] arr)
{
    var hasValueRowIndex = new List<int>();
    for (var i = 0; i < arr.GetLength(0); i++)
    {
        for (var j = 0; j < arr.GetLength(1); j++)
        {
            if (!string.IsNullOrEmpty(arr[i, j]))
            {
                hasValueRowIndex.Add(i);
                break;
            }
        }
    }
    return hasValueRowIndex;
}

//Demo

string[,] a = new string[9, 3];
a[0, 0] = "a";
a[2, 0] = "b";
a[4, 0] = "c";
a[6, 0] = "d";
a[8, 0] = "e";

var arr = GetHasValueRowIndex(a);
Console.WriteLine("HasValue Row Count:" + arr.Count);
arr.ForEach(o => Console.WriteLine(o));
/*
 HasValue Row Count:5
 0
 2
 4
 6
 8
 */

 

int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};//定义一个4行3列的二维数组
int dimension= array.Rank;//获取数组维数;值为2
int row = arr.GetLength(0); // 返回第一维的长度(所谓的“行数”)(所有数据的行数不是实际存了数据的行数)
int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了。(0是第一维,1表示的是第二维);值为3
int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这里表示二维数组的行数
int num = array.Length;//获取整个二维数组的长度,即所有元的个数

 

获取二维数组里面实际存有数据的行数

标签:null   返回   new   4行   color   break   add   元素   demo   

原文地址:https://www.cnblogs.com/dearzhoubi/p/9016226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!