c# double数组有2个数 与传递过来的一个 double数 比较后 (都不能为0)返回最大和最小值数组
时间: 2024-11-03 16:17:40 浏览: 8
c#输出10个数的最大值、最小值、平均值和总和。.rar
在 C# 中,你可以创建一个方法,接收两个 `double` 数字和一个 `double` 数组作为参数,然后比较它们并返回包含最大值和最小值的新数组。以下是一个示例方法:
```csharp
using System;
public static (double Max, double Min) GetMinMax(double[] array, double num)
{
if (array == null || array.Length < 2)
{
throw new ArgumentException("Array must contain at least two elements.");
}
// 如果num不为零,则将其与数组的第一个元素进行比较
double min = Math.Min(num, array[0]);
double max = Math.Max(num, array[0]);
// 遍历数组中的其他元素,更新最大值和最小值
for (int i = 1; i < array.Length; i++)
{
if (array[i] != 0)
{
min = Math.Min(min, array[i]);
max = Math.Max(max, array[i]);
}
}
return (max, min);
}
```
这个方法首先检查传入的数组是否至少有两个非零元素。然后,它使用 `Math.Min` 和 `Math.Max` 函数来找到当前已知的最大值(初始时为第一个元素或 `num`)和最小值。接着遍历数组,如果遇到非零元素,就更新这两个值。
要使用此方法,你可以这样做:
```csharp
double[] myArray = { 5.0, 2.0, 7.0 };
double singleValue = 3.0;
var result = GetMinMax(myArray, singleValue);
Console.WriteLine($"Max: {result.Max}, Min: {result.Min}");
```
阅读全文