c#linq去掉最大最小后求平均
时间: 2024-09-10 12:23:11 浏览: 58
LINQ操作数组代码(交集,并集,差集,最值,平均,去重复)
在C#中,使用LINQ(语言集成查询)来去掉一组数据中的最大值和最小值后求平均值,可以通过以下步骤实现:
首先,我们使用`OrderBy`方法将数据集合排序,然后使用`Take`和`Skip`方法去掉最大值和最小值。之后,我们使用`Average`方法来计算剩余元素的平均值。以下是一个示例代码:
```csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 示例数据数组
// 排序,取最小的9个去掉最大的,然后计算平均值
double average = numbers
.OrderBy(x => x) // 排序
.Take(numbers.Length - 1) // 去掉最大的一个
.Skip(1) // 去掉最小的一个
.Average(); // 计算平均值
Console.WriteLine("去掉最大最小值后的平均数为:" + average);
```
在上述代码中,我们首先对数组`numbers`进行排序,然后使用`Take`方法取除了最大值之外的所有元素(因为我们知道数组有10个元素,所以`Length - 1`就是去掉最大值),接着用`Skip`方法跳过最小值,最后通过`Average`方法计算剩余元素的平均值。
阅读全文