我有 5 个数字,即:1 1 1 2 3; 我必须对除最小值以外的它们求和,但我只能将其删除一次(如果最小值出现不止一次,我必须保留其余的)。我怎样才能用 Linq 做到这一点?我想:
var min = nums.Min();
var minSum = nums.Where(x => x != min).Sum();
但它会从列表中删除所有的 1。如果出现超过 1 次,我需要一种方法从那里出去。
如果可能,所有这些都使用 Linq。
最佳答案
这是一个单一的衬里,即使你的数组是空的也能工作
int[] nums = { 1, 1, 1, 2, 3 };
int minSum = nums.OrderBy(x =>x).Skip(1).Sum();
关于c# - 如果有重复项,Linq 只删除一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42273874/