c# 已知一个list包含一个最大和最小的两个数, 传递一个数与值比较 返回新的list最大和最小值
时间: 2024-11-15 13:26:38 浏览: 0
在 C# 中,如果你有一个 List<int> 并想找出其中的最大值和最小值,你可以创建一个新的 List< Tuple<int, int>> 来存储这两个值。然后遍历原始列表,同时更新最大值和最小值。当找到一个新数值时,如果它比当前最大值大,就更新最大值;如果它比当前最小值小,就更新最小值。遍历结束后,你会得到一对 Tuple,分别代表原列表中的最大值和最小值。
下面是一个简单的示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
// 假设我们有一个整数列表
List<int> numbers = new List<int> { 5, 2, 9, 1, 7, 3 };
// 创建一个 List<Tuple<int, int>> 用于存储最大值和最小值
List<Tuple<int, int>> result = new List<Tuple<int, int>>();
if (numbers.Any()) // 检查列表是否为空
{
var maxAndMin = numbers[0]; // 初始设置最大值和最小值为第一个元素
foreach (var num in numbers)
{
if (num > maxAndMin.Item1) // 如果当前值更大,更新最大值
maxAndMin = Tuple.Create(num, maxAndMin.Item2);
else if (num < maxAndMin.Item1) // 否则,如果更小,更新最小值
maxAndMin = Tuple.Create(maxAndMin.Item1, num);
}
result.Add(maxAndMin); // 添加到结果列表
}
else
{
Console.WriteLine("List is empty.");
}
// 输出结果
Console.WriteLine($"Max: {result[0].Item1}, Min: {result[0].Item2}");
}
}
```
阅读全文