zoukankan      html  css  js  c++  java
  • 获取二维数组里面实际存有数据的行数

    写程序时遇到需要获取二维数组里面实际存有数据的行数,看到几篇博客中获取数组行数用的居然是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;//获取整个二维数组的长度,即所有元的个数
  • 相关阅读:
    在CSS里加下面任何一行代码都可以解决图片之间的间隙
    MasterPage Toolbar
    图解虚拟机VMware服务自动启动
    WSUS完全部署
    DIV全屏覆盖网页
    大型架构.net平台篇(WEB层均衡负载nginx)
    组策略设置及导出导入方法[附上设置好的组策略]
    如何設定定時關機?
    gridview获取当前行索引的方法
    no suject
  • 原文地址:https://www.cnblogs.com/dearzhoubi/p/9016226.html
Copyright © 2011-2022 走看看