执行IEnumerable方法

Rau*_*uld 3 .net c# linq lambda

将问题陈述简化为int of List,让我说我有这个

 List<int> range = new List<int>(10) { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
Run Code Online (Sandbox Code Playgroud)

用户输入24,我需要一个早期饲料值为20,晚期饲料值为30个
用户输入99,我需要一个早期饲料值为90,晚期饲料值为100个
用户输入20,我需要一个早期饲料值作为20和后期饲料值为20

是否有Lamba Expression或linq语句来获得此类结果.

我真正的输入不是int的列表,我刚刚对它进行了简化,更加热衷于lamba或linq表达式以获得结果

Jam*_*ass 10

怎么样

range.Where(i => i <= UserInput).Max();
Run Code Online (Sandbox Code Playgroud)

range.Where(i => i >= UserInput).Min();
Run Code Online (Sandbox Code Playgroud)

或者另外

range.Max(i => i <= UserInput);
range.Min(i => i >= UserInput);
Run Code Online (Sandbox Code Playgroud)

  • 这可以简化:`Where(<expression>).Max/Min()`相当于`Max/Min(<expression>)`. (5认同)