查找字符串数组中的元素数量

时间:2015-09-08 09:50:46

标签: c#

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

这是我尝试过的事情:

int arrayLength = 0;
string[] fullName = new string[50];

if (fullName.Length > 0)
{
    arrayLength = fullName.Length - 1;
}

然后从那里引用第一个可用的空元素:

fullName[arrayLength] = "Test";

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

干杯!

4 个答案:

答案 0 :(得分:2)

您可以使用此函数计算数组的长度。

PersonelName------EnterDate1------EnterDate2------EnterDate3------EnterDateN
   Michael------------6---------------8----------------7----------TotalWorkHour
   Jason--------------5---------------8----------------6----------TotalWorkHour
   Terra--------------6---------------6----------------6----------TotalWorkHour
   Amelie-------------8---------------8----------------7----------TotalWorkHour

编辑:找到第一个空元素

private int countArray(string[] arr)
{
    int res = arr.Length;

    foreach (string item in arr)
    {
        if (String.IsNullOrEmpty(item))
        {
            res -= 1;
        }
    }

    return res;
}

答案 1 :(得分:1)

  

我正在尝试查找字符串数组中有多少元素

array.Length
  

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

数组没有空元素;那里总有一些东西,虽然可能是null

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

如果您要添加新元素,请使用List<string>这样的Add()方法可以为您提供所需的方法,并在需要时调整大小等等。

您可能只需将该列表用于该任务的下一部分,但如果您确实需要一个数组,那么它将使用ToArray()方法为您提供一个。

答案 2 :(得分:0)

因此,如果您想使用数组而不是列表,您仍然可以获得这样的空元素数:

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

答案 3 :(得分:0)

尝试以下代码

    string[] fullName = new string[50];

    fullName[0] = "Rihana";
    fullName[1] = "Ronaldo";

    int result = fullName.Count(i => i != null);
result中,您将拥有占用位置的数量。在这种情况下2,填充原因2阵列。从那里你可以算空。 :)