首页 新闻 会员 周边

c# 定义数组,如何获取当前数组的行数?

0
[已解决问题] 解决于 2012-05-25 10:48
我定义了一个string[,] a = new string[9, 3];,但是想获取里面实际存有数据的行数,怎么获取?
巴索罗缪库玛的主页 巴索罗缪库玛 | 初学一级 | 园豆:48
提问于:2012-05-24 07:39
< >
分享
最佳答案
0
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
 */
奖励园豆:5
artwl | 专家六级 |园豆:16736 | 2012-05-24 09:41
其他回答(3)
0

a.GetLength(0) 

a.GetLength(1)

xu_happy_you | 园豆:222 (菜鸟二级) | 2012-05-24 09:11
-2

学习学习,楼上正解~

Philomena | 园豆:154 (初学一级) | 2012-05-24 10:36
0

a.GetLength(0)

a.GetLength(1)

xu_happy_you 提供的解答是正确的。

数组的Length返回所有维数的总元素长度,而方法GetLength则返回指定维度的长度。

你要返回一个二维数组[,]的行数,也就是要返回第0维的长度(维度是从0开始计数的),所以数组[,]的行数就是[,].GetLength(0)

无之无 | 园豆:5095 (大侠五级) | 2012-05-24 11:26

题目中是要“实际存有数据的行数

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2012-05-24 14:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册