查找字符串数组中有多少个元素

本文关键字:多少 元素 字符串 数组 查找 | 更新日期: 2023-09-27 18:11:53

我试图找到我的字符串数组中有多少个元素,所以我可以从第一个空元素添加到该数组。

我是这么做的:

int arrayLength = 0;
string[] fullName = new string[50];
if (fullName.Length > 0)
{
    arrayLength = fullName.Length - 1;
}

,然后将第一个可用的空元素引用为:

fullName[arrayLength] = "Test";

我也可以用这个来看看数组是否满了,但我的问题是arrayLength总是等于49,所以我的代码似乎是计算整个数组的大小,而不是元素的大小不是空的。

干杯!

查找字符串数组中有多少个元素

你可以使用这个函数来计算数组的长度。

private int countArray(string[] arr)
{
    int res = arr.Length;
    foreach (string item in arr)
    {
        if (String.IsNullOrEmpty(item))
        {
            res -= 1;
        }
    }
    return res;
}
编辑:查找第一个空元素
private int firstEmpty(string[] arr)
{
    int res = 0;
    foreach (string item in arr)
    {
        if (String.IsNullOrEmpty(item))
        {
            return res;
        }
        res++;
    }
    return -1; // Array is full
}

我想找出字符串数组中有多少个元素,

array.Length

所以我可以从第一个空元素添加到数组

数组没有空元素;总有一些东西在里面,尽管它可能是null

您可以通过扫描直到遇到null,或者在每次添加新元素时保持跟踪来找到。

如果你要添加新的元素,然后使用List<string>,这有一个Add()方法,将为你做你想要的,以及在需要时调整大小等。

你很可能只使用列表的任务的下一部分,但如果你真的需要一个数组,它有一个ToArray()方法将给你一个。

如果你想使用数组而不是列表你仍然可以像这样简单地获取空元素的数量:

int numberOfEmptyElements = fullName.Count(x => String.IsNullOrEmpty(x));

试试下面的代码

    string[] fullName = new string[50];
    fullName[0] = "Rihana";
    fullName[1] = "Ronaldo";
    int result = fullName.Count(i => i != null);

result中,您将获得已占用位置的数量。在本例中,原因2的数组被填充。从那里你可以数空的。:)