我对使用 Linq 将数组乘以一个因子很感兴趣。
我当前的代码是:
public static double[] multiply(double[] x, double factor)
{
if (x == null) throw new ArgumentNullException();
double[] result = new double[x.Length];
for (int i = 0; i < x.Length; i++)
{
result[i] = x[i] * factor;
}
return result;
}
在 Linq 中执行此操作的最有效方法是什么,它会提供更好的性能吗?
最佳答案
您可以像这样通过 LINQ 做到这一点:
double[] result = x.Select(r=> r * factor).ToArray();
效率高吗?不太确定。但它只是简洁,即使有性能提升也可以忽略不计。 LINQ 内部使用循环,所以你的方法可以是:
public static double[] multiply(double[] x, double factor)
{
if (x == null) throw new ArgumentNullException();
return x.Select(r => r * factor).ToArray();
}
关于c# - 使用 Linq 将 native C# 数组乘以一个因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249332/