[英]Finding an empty string in an array beginning at a specified index
我想检查指定索引后的数组中是否存在空字符串。
假设我有这个数组:
string[] values = {"1", "2", "2", "4", "", "", ""};
我想检查索引3(其中值为4)是否存在空值。 我想做到这一点而不将其在两个不同的字符串数组之间拆分。
更具体地说,我的示例使用名为files的数组
string[] files;
我想检查从数组索引8到数组索引28是否有空值。
您可以使用LINQ来做到这一点:
files.Skip(index).Any(s => s == string.Empty);
您可以只使用for循环。 尝试这个:
for(int i = specifiedIndex; i < array.Length; i++)
{
if(array[i].Equals(""))
return true;
}
return false;
如果索引处或索引后的任何值为空,则将返回true。 如果到达末尾而没有找到一个,则返回false。
您可以根据自己的需要进行调整。 您不必一定要循环数组的末尾,您也可以将结束条件设置为指定的索引,例如,是否要检查索引5和10之间的空字符串,而不管是否存在在此之前或之后的任何时间。
使用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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.