通过规范化(不使用 Linq)修改传入双精度数组的过程
Procedure which modifies incoming array of double by Normalizing (without using Linq)
我已经写下了一个过程的代码,该过程通过规范化来修改传入的双精度数组。为了标准化数字数组,我必须将每个数字除以数组中的最大值。但是,我的代码强制我实施 System.Linq
这是我的代码:
public void Test9(double[] numbers)
{
double MaximumNumber = numbers.Max();
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] / MaximumNumber;
}
}
我的问题是,如何在不在程序顶部实现 using System.Linq;
的情况下实现相同的解决方案。
遍历数组并首先获取最大值(确保首先检查数组中是否有项目,因此检查numbers.Length > 0
):
double max = numbers[0];
for (int i = 1; i < numbers.Length; i++)
{
if (numbers[i] > max)
{
max = numbers[i];
}
}
通过迭代数组找到最大值
public void Test9(double[] numbers)
{
// Find the maximum without linq
double maxNumber = double.MinValue;
for (int i = 0; i < numbers.Length; i++)
{
if(numbers[i] > maxNumber)
maxNumber = numbers[i];
}
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] / maxNumber;
}
}
我已经写下了一个过程的代码,该过程通过规范化来修改传入的双精度数组。为了标准化数字数组,我必须将每个数字除以数组中的最大值。但是,我的代码强制我实施 System.Linq
这是我的代码:
public void Test9(double[] numbers)
{
double MaximumNumber = numbers.Max();
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] / MaximumNumber;
}
}
我的问题是,如何在不在程序顶部实现 using System.Linq;
的情况下实现相同的解决方案。
遍历数组并首先获取最大值(确保首先检查数组中是否有项目,因此检查numbers.Length > 0
):
double max = numbers[0];
for (int i = 1; i < numbers.Length; i++)
{
if (numbers[i] > max)
{
max = numbers[i];
}
}
通过迭代数组找到最大值
public void Test9(double[] numbers)
{
// Find the maximum without linq
double maxNumber = double.MinValue;
for (int i = 0; i < numbers.Length; i++)
{
if(numbers[i] > maxNumber)
maxNumber = numbers[i];
}
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] / maxNumber;
}
}