c# 已知一个list包含一个最大和最小的两个数, 传递一个数与值比较 返回新的list 中最大最小的方法
时间: 2024-11-15 08:26:58 浏览: 20
在 C# 中,你可以创建一个名为 `FindMinMaxInList` 的方法,这个方法接受一个列表(List<int> 或者 List<double>),一个新数值以及当前列表的最大值和最小值作为参数。如果新数值大于当前最大值,就更新最大值并相应地调整列表;如果小于当前最小值,则更新最小值。最后返回一个新的列表,其中包含了原列表和新数值的这两个边界值。
以下是一个简单的实现示例:
```csharp
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
List<int> numbers = new List<int> { 5, 2, 9, 1, 7 };
int value = 4;
List<int> result = FindMinMaxInList(numbers, ref numbers.Min, ref numbers.Max, value);
Console.WriteLine($"Original list: {numbers}");
Console.WriteLine($"Result after adding {value}: {result}");
}
public static List<int> FindMinMaxInList(List<int> originalList, ref int minValue, ref int maxValue, int value)
{
// 检查新值是否改变最小值
if (value < minValue)
{
minValue = value;
}
// 检查新值是否改变最大值
else if (value > maxValue)
{
maxValue = value;
}
// 创建新列表,只包含原列表和新边界值
List<int> resultList = new List<int>(originalList);
resultList.Add(minValue);
resultList.Add(maxValue);
return resultList;
}
}
```
在这个例子中,当你添加 `value = 4` 到原始列表时,`FindMinMaxInList` 方法会更新列表,并返回包含原列表和新边界值(1 和 9)的新列表。
阅读全文