c# double数组有2个数 与传递过来的一个 double数 比较 (剔除0)后 返回最大和最小值数组
时间: 2024-11-03 13:17:29 浏览: 17
c#输出10个数的最大值、最小值、平均值和总和。.rar
当你有一个`double`类型的数组和一个单独的`double`值,你可以通过遍历数组并比较每个元素与给定值(排除0)来找到数组中的最大值和最小值。以下是一个简单的C#方法来实现这个功能:
```csharp
public static (double min, double max) CompareArrayWithDouble(double[] array, double value)
{
if (array == null || array.Length < 1)
{
throw new ArgumentException("The array must not be null or empty.");
}
double minValue = Double.MaxValue;
double maxValue = Double.MinValue;
foreach (double num in array)
{
// 排除0
if (num != 0)
{
minValue = Math.Min(minValue, num);
maxValue = Math.Max(maxValue, num);
}
}
// 如果给定的值不为0,也要进行比较
if (value != 0)
{
minValue = Math.Min(minValue, value);
maxValue = Math.Max(maxValue, value);
}
return (minValue, maxValue);
}
```
这个方法首先检查数组是否为空或长度为0。然后,对于数组中的每个非零元素,更新`minValue`和`maxValue`。最后,如果给定的值不为0,也将其加入比较。
使用这个方法时,调用如下所示:
```csharp
double[] array = { 5.0, 0, 10.5, -3.2 };
double valueToCompare = 7.8;
var result = CompareArrayWithDouble(array, valueToCompare);
Console.WriteLine($"Minimum: {result.min}, Maximum: {result.max}");
```
阅读全文