我有一个名为"汽车"的字符串数组
我想得到数组的第一个索引是null,或者存储的值是空的.这是我到目前为止所得到的:
private static string[] Cars;
Cars = new string[10];
var result = Cars.Where(i => i==null || i.Length == 0).First();
Run Code Online (Sandbox Code Playgroud)
但是如何获得这种情况的第一个INDEX?
例如:
Cars[0] = "Acura";
Run Code Online (Sandbox Code Playgroud)
那么索引应该返回1作为数组中的下一个可用点.
Ani*_*Ani 15
您可以将此Array.FindIndex
方法用于此目的.
搜索与指定谓词定义的条件匹配的元素,并返回整个Array中第一个匹配项的从零开始的索引.
例如:
int index = Array.FindIndex(Cars, i => i == null || i.Length == 0);
Run Code Online (Sandbox Code Playgroud)
对于适用于任何更通用的方法,IEnumerable<T>
请看一下:如何使用LINQ获取索引?.
如果你想要LINQ的方式,这里是:
var nullOrEmptyIndices =
Cars
.Select((car, index) => new { car, index })
.Where(x => String.IsNullOrEmpty(x.car))
.Select(x => x.index);
var result = nullOrEmptyIndices.First();
Run Code Online (Sandbox Code Playgroud)
也许不是那么简洁Array.FindIndex
,但它可以在任何IEnumerable<>
而不仅仅是数组上工作.它也是可组合的.
归档时间: |
|
查看次数: |
11609 次 |
最近记录: |