计算系列中的Exceedence数

Moh*_*tha 6 c# linq

我有一系列数据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
Run Code Online (Sandbox Code Playgroud)

让我的Exceedence值为1.5,所以我想计算我的系列值超过1.5的时间(基本上是1.5次常量线切割图的次数).在上面的例子中,它将是3({1.6-2.51},{2.52-4.5},{2.53-3.5}).

我可以通过迭代每个成员并在每次上升或下降Excedence值时保持计数来完成此操作.

我想知道有没有办法使用LINQ查询来做到这一点.

Ste*_*cya 5

那是你要的吗?

        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;
        });
Run Code Online (Sandbox Code Playgroud)