列表中的最大值小于X.

时间:2015-06-23 10:06:57

标签: c# linq

如何从int中检索List值,该值是最大数量,但仍小于我要比较的X值。

Value = 10

Example one: List = {1,4,6,8};  => number 8 biggest on list and smaller than 10
Example two: List = {1,15,17,20}; => number 1 biggest on list and smaller than 10

我正在尝试使用Linq但到目前为止没有成功。

3 个答案:

答案 0 :(得分:13)

您可以限制用于获取" Max"的值。使用Where子句:

return myList.Where(x => x < 10).Max();

答案 1 :(得分:3)

您可以使用Where过滤低于10的值,并使用Max获取最大值,例如;

var list = new List<int>{1, 15, 17, 20};
list.Where(s => s < 10).Max().Dump();

enter image description here

答案 2 :(得分:2)

您可以过滤小于x的项目,然后使用Max()(如下所示)找到最大值

list.where(m => m <= x).Max(p => p);