c# 已知一个list包含一个最大和最小的两个数, 传递一个数与值比较 返回新的最大和最小值
时间: 2024-11-16 08:20:04 浏览: 10
c#输出10个数的最大值、最小值、平均值和总和。.rar
在 C# 中,如果你有一个 List<int> 并想要找出其中的最大值和最小值,可以这样做:
首先,你可以通过 LINQ(Language Integrated Query)查询找到当前列表中的最大值(MaxValue)和最小值(MinValue)。然后,当传递一个新的整数值时,你可以通过 `CompareTo` 方法来比较这个值与当前最大值和最小值。
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
// 初始化一个包含数字的 List
List<int> numbers = new List<int> { 5, 2, 8, 1, 9, 3 };
// 获取初始的最大值和最小值
int maxValue = numbers.Max();
int minValue = numbers.Min();
// 示例函数接收新数并返回更新后的最大值和最小值
Func<int, (int, int)> CompareAndUpdate = num =>
{
int updatedMax = num > maxValue ? num : maxValue;
int updatedMin = num < minValue ? num : minValue;
return (updatedMax, updatedMin);
};
// 使用示例函数与新值比较
int newItem = 7;
(int newMax, int newMin) = CompareAndUpdate(newItem);
Console.WriteLine($"原最大值: {maxValue}, 新最大值: {newMax}");
Console.WriteLine($"原最小值: {minValue}, 新最小值: {newMin}");
}
}
```
在这个例子中,`CompareAndUpdate` 函数接受一个数,并根据其与当前最大值和最小值的关系返回更新后的最大值和最小值。然后我们用一个新数值 7 进行了测试。
阅读全文