C#,LINQ.如何在元素组中查找元素

Bop*_*Bop 3 c# linq

想象一下,你有 int[] data = new int [] { 1, 2, 1, 1, 3, 2 }

我需要只有那些符合条件的子阵列data[i] > data[i-1] && data[i] > data[i + 1]...即我需要所有坚持他们的邻居的物品.

从上面的例子我应该得到 { 2, 3 }

可以在LINQ中完成吗?

谢谢

Mat*_*hen 11

data.Where((val, index)=>(index == 0 || val > data[index - 1]) 
                      && (index == data.Length - 1 || val > data[index + 1]));
Run Code Online (Sandbox Code Playgroud)