说我有一个数字列表,我想知道列表中的数字开始减少的位置,没有特别的顺序,一个例子是理想的!
1,
2,
2,
3,
3,
4,
4,
5,
5,
4, <= this should be my output
4,
3,
3,
2,
2,
1,
Run Code Online (Sandbox Code Playgroud)
谢谢
您可以创建自己的扩展方法 IEnumerable<TSource>
public static class MyEnumerable
{
public static IEnumerable<TSource> Descending<TSource>(this IEnumerable<TSource> source)
where TSource : IComparable<TSource>
{
using (var e = source.GetEnumerator())
{
TSource previous;
if (e.MoveNext())
{
previous = e.Current;
while (e.MoveNext())
{
if (previous.CompareTo(e.Current) > 0)
yield return e.Current;
previous = e.Current;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
用法
var input = new List<int>() { 1, 2, 3, 2, 4, 5, 6, 7, 8, 9 };
var firstDescending = input.Descending().First();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |