[英]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.