从指定索引处开始查找数组中的空字符串

时间:2014-10-14 05:03:16

标签: c# arrays linq

我想检查指定索引后数组中是否存在空字符串。

假设我有这个数组:

string[] values = {"1", "2", "2", "4", "", "", ""};

我想检查索引3中是否存在空值(值为4)。我想这样做而不将它分成两个不同的字符串数组。

更具体地说,我使用名为files

的数组的示例
string[] files;

如果有空值,我想从数组索引8到数组索引28进行检查。

3 个答案:

答案 0 :(得分:3)

您可以使用LINQ:

files.Skip(index).Any(s => s == string.Empty);

答案 1 :(得分:0)

你可以使用for循环。试试这个:

for(int i = specifiedIndex; i < array.Length; i++)
{
    if(array[i].Equals(""))
        return true;
}
return false;

如果索引处或之后的任何值为空,则返回true。如果它在没有找到的情况下到达终点,则返回false。

您可以根据自己的需要进行调整。你不一定要循环数组的结尾,也可以将结束条件设置为指定的索引,比如说你想检查索引5和10之间的空字符串,但是不关心是否有之前或之后的任何内容。

答案 2 :(得分:0)

使用LINQ: -

string[] Values = { "1", "2", "2", "4", "", "", "" };
            int specifiedIndex = 3;
            var query1 = Values.Skip(specifiedIndex).Select((v, index) => new { v, index }).Where(x => x.v == String.Empty).Select(z => z.index + specifiedIndex);

            foreach (var val in query1)
            {
                Console.WriteLine(val);
            }