使用LINQ获取数字列表中的下一个数字

本文关键字:数字 下一个 列表 获取 使用 LINQ | 更新日期: 2023-09-27 18:06:09

我有一个数字列表,如下:

var mylist = new List<double> {1, 5, 8, 10, 12};

输入特定号码后的号码怎么查?我想要一个LINQ表达式,例如接收8并给出10;

使用LINQ获取数字列表中的下一个数字

您可以使用以下命令:

double result = mylist.SkipWhile(n => n != 8).Skip(1).First();

如果没有重复的数字,这也应该可以工作。

int index = mylist.IndexOf(8);
if (index != -1)
{
   double result = index == mylist.Count - 1 ? mylist[index] : mylist[index + 1];
}

应该可以,

var mylist = new List<double> { 1, 5, 8, 10, 12 };
double p = 8;
var result = mylist.Where(x => x > p).Take(1).SingleOrDefault();