使用 C# Linq 返回数组中出现 null/空的第一个索引
我有一个名为“Cars”的字符串数组,
我想获取该数组的第一个索引为空,或者存储的值为空。这是我到目前为止得到的:
private static string[] Cars;
Cars = new string[10];
var result = Cars.Where(i => i==null || i.Length == 0).First();
但是如何获得此类事件的第一个索引?
例如:
Cars[0] = "Acura";
那么索引应该返回 1 作为数组中的下一个可用位置。
I have an array of strings called "Cars"
I would like to get the first index of the array is either null, or the value stored is empty. This is what I got so far:
private static string[] Cars;
Cars = new string[10];
var result = Cars.Where(i => i==null || i.Length == 0).First();
But how do I get the first INDEX of such an occurrence?
For example:
Cars[0] = "Acura";
then the index should return 1 as the next available spot in the array.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
Array.FindIndex
方法。例如:
有关适用于任何
IEnumerable
的更通用方法,请查看:如何使用 LINQ 获取索引?。You can use the
Array.FindIndex
method for this purpose.For example:
For a more general-purpose method that works on any
IEnumerable<T>
, take a look at: How to get index using LINQ?.如果您想要 LINQ 方式来执行此操作,这里是:
也许不像 Array.FindIndex 那样简洁,但它适用于任何 IEnumerable<>,而不仅仅是数组。它也是可组合的。
If you want the LINQ way of doing it, here it is:
Maybe not as succinct as
Array.FindIndex
, but it will work on anyIEnumerable<>
rather than only arrays. It is also composable.