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

写程序时遇到需要获取二维数组里面实际存有数据的行数,看到几篇博客中获取数组行数用的居然是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;//获取整个二维数组的长度,即所有元的个数

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

时间: 2024-11-22 19:06:30

获取二维数组里面实际存有数据的行数的相关文章

C++获取二维数组的元素个数

C/C++获取二维数组的大小/长度/元素个数 int p[5][6]; int lenTotal = sizeof(p) / sizeof(int); //30 int lenLow = sizeof(p[0]) / sizeof(int); //6 int lenHigh = lenTotal / lenLow; //5

C#/JS 获取二维数组组合

C#获取二维数组组合 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace HF.SHOP.WebSite { public partial class Demo : System.Web.UI.Page { List

PHP获取二维数组指定字段值的和

array_sum(array_column($arr, 'num')); //获取二维数组 num字段的和 $arr = [ [ 'device_uid' => '123456', 'num' => '5', ], [ 'device_uid' => '123457', 'num' => '2', ], [ 'device_uid' => '123458', 'num' => '4', ], ]; echo '<pre>'; //先对二维数组进行处理,再对

C#读txt文件并写入二维数组中(txt数据行,列未知)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace 二维数组 { class Program { static void Main(string[] args) { int row = 0;//行 int col = 0;//lie FileStream fs; string path = @"C:\Documents an

Java 数组 获取二维数组的行数和列数

对于Object[][] array,array.length返回行数,array[0].length返回列数,元素个数为array.length*array[0].length. 参考资料 在JAVA中怎样求二维数组的行数和列数? 原文地址:https://www.cnblogs.com/WJQ2017/p/8412615.html

【Java】获取二维数组行列长度

二维数组int array[][] = new int[3][3]; 行长度:array.length 列长度:array[i].length 原文地址:https://www.cnblogs.com/yuange678/p/10371641.html

AJax通过PHP获取二维数组

JS: $.get(url,function(data){ var data = eval(data); $.each(data, function(i, item) { alert(data[i].x); }); }); PHP: <?phpmysql_connect("127.0.0.1", "xxx", "xxx");mysql_select_db("pinglun");mysql_query("set

PHP 如何获取二维数组中某个key的集合(高性能查找)遵渍妆组卓紫

http://blog.csdn.net/kangmiao89757/article/details/43390691 http://blog.csdn.net/kangmiao89757/article/details/43390495 http://blog.csdn.net/kangmiao89757/article/details/43390161 http://blog.csdn.net/kangmiao89757/article/details/43389909 http://blo

获取二维数组中的相同一维数组并记数

$a=array(      array(a,b,c), array(c,d,e), ); foreach($a as $k=>$v){ foreach($v as $value){ if(!in_array($value,$ids)) $ids[] = $value; } } foreach($a as $k=>$v){ foreach($v as $value){ foreach($ids as $key=>$id){ if($id == $value){ $res[$key]['i