【发布时间】:2012-06-19 01:44:51
【问题描述】:
假设我有一个整数列表:
List<int> myInts = new List<int>() {1,2,3,5,8,13,21};
我想获取下一个可用整数,按整数递增排序。不是最后一个或最高的一个,但在这种情况下是不在此列表中的下一个整数。在这种情况下,数字是 4。
有没有 LINQ 语句可以给我这个?如:
var nextAvailable = myInts.SomeCoolLinqMethod();
编辑:废话。我说答案应该是 2,但我的意思是 4。对此我深表歉意!
例如:假设您负责分发进程 ID。您想获取当前进程 ID 的列表,并发出下一个,但下一个不应只是最大值加一。相反,它应该是进程 ID 有序列表中的下一个可用的。您可以从最高的开始获得下一个可用的,这并不重要。
【问题讨论】:
-
next available。参考什么? -
我认为您正在寻找有序列表
-
接下来关于递增的整数。所以是的,这是一个有序列表,所以整数比较是相关的。
-
要订购列表,请使用 myInts
OrderBy(d => d)。如果已订购,myInts[0]将是较小的数字,因此myInts[1]将是 nextAvailable
标签: c# linq linq-to-objects