如何使用LINQ来删除List中的Min和Max值

Cha*_*hee 3 c# linq list

我有一个如下所示的列表.

List<int> temp = new List<int> { 3, 5, 6, 8, 2, 1, 6};
Run Code Online (Sandbox Code Playgroud)

我将使用LINQ删除Above List中的Min和Max值.

例如,下面的代码段只是示例,不起作用.

var newValue = from pair in temp
               select pair < temp.Max() && pair > temp.Min()
Run Code Online (Sandbox Code Playgroud)

希望,我希望结果如下;

newValue = {3, 5, 6, 2, 6 }
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索,但还没找到合适的例子.

当我使用LINQ时它可以工作吗?谢谢你的时间.

Mat*_*gen 5

你应该使用where.

from pair in temp
where pair < temp.Max() && pair > temp.Min()
select pair
Run Code Online (Sandbox Code Playgroud)

您当前的方法将选择值是否在范围内,而不是过滤它们.这就是该where条款的用途.


Rah*_*ngh 5

尝试这个:-

var query = temp.Where(x => x != temp.Min() && x != temp.Max()).ToList();
Run Code Online (Sandbox Code Playgroud)

工作小提琴