我在IEnumrable<double>
中有一系列数据。
设伪数据为:
0
0
0
1
1.6
2.5
3.5
2.51
1.0
0
0
0
2.52
3.5
6.5
4.5
1.2
1.0
2.53
3.5
让我的Exceedence值为1.5,所以我要计算我的序列中的值超过1.5的次数(基本上是1.5恒定线切割图形的次数)。在上述情况下,该值为3({1.6-2.51},{2.52-4.5},{2.53-3.5})。
我可以通过遍历每个成员并在每次Exceedence值上升或下降时保持计数来做到这一点。
我想知道是否有任何方法可以使用LINQ查询来做到这一点。
最佳答案
那是你要的吗?
bool isAbove = false;
int count = yourList.Count(x =>
{
if (x > 1.5 && !isAbove)
{
isAbove = true;
return true;
}
else if (x < 1.5)
{
isAbove = false;
}
return false;
});