繁体   English   中英

查找值在数组中的位置

[英]Find the position of a value in an array

我有以下代码来查找数组中某个值的位置:

int position = Array.IndexOf<double>(myarray, 0.03);

有没有一种方法可以使其正常工作,从而使它的位置小于某个特定值? 例如,我希望第一次出现的位置的值小于0.04

您可以使用Array.FindIndex

搜索与指定谓词定义的条件匹配的元素,并返回Array或其一部分中首次出现的从零开始的索引。

int position = Array.FindIndex(myarray, n => n < 0.04)

您可以使用LINQ:

int position = myArray.Select((v, index) => new { v, index })
                      .First(x => x.v < 0.03)
                      .index;

如果没有元素符合您的条件,它将引发异常。

要获取默认值而不是异常,请使用FirstOrDefault

var item = myArray.Select((v, index) => new { v, index })
                      .FirstOrDefault(x => x.v < 0.03);
var position = item == null ? -1 : item.index;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM