Mar*_*Dee 2 c# arrays sorting variables type-conversion
我是一个初学者,正在经历一些足够简单的挑战,我似乎无法弄清楚这个问题。代码只是用于查找数组中最大和最小数字的函数,即使这不是一种有效的方法,我也不知道代码从哪里获取 int。任何人都能够阐明这一点?
using System;
using System.Linq;
public class Program
{
public static double[] FindMinMax(double[] values)
{
double small = values.Min();
double big = values.Max();
double result = new double[small, big];
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道代码从哪里获取 int
您在这里要求 ( new double[small, big]) 创建一个维度(例如)17.2 × 42.6 的二维(矩形)数组 - 它是它想要为整数的那些维度。
我认为您的意思是创建一个向量(单维零基数组),其中两个值作为内容:
double[] result = new double[] {small, big};
Run Code Online (Sandbox Code Playgroud)
虽然我怀疑值元组会更有效地工作,即
public static (double Min, double Max) FindMinMax(double[] values)
{
// ...
return (small, big);
}
Run Code Online (Sandbox Code Playgroud)
您可能还想研究编写一个显式的单个循环来检查每个步骤中的 min 和 max 是否是最佳的(可能不是),而不是两次迭代。但只要数据不是很大,就没有关系。而如果它是巨大的,那么你进入分片一样的阵列和执行并行最小/最大的不同碎片,然后聚合碎片结果的话题。这里也可能有 SIMD 选项。
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |