无法将类型“ double”隐式转换为“ 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;
    }
}
马克·格雷韦尔

我不知道代码从哪里获取int

您在这里(new double[small, big])要求它创建一个尺寸为(例如)17.2×42.6的二维(矩形)数组-它是那些要成为整数的尺寸。


我认为您的意思是使用两个值作为内容创建一个向量(基于零的单维数组)

double[] result = new double[] {small, big};

虽然我怀疑价值元组会更有效地工作,即

public static (double Min, double Max) FindMinMax(double[] values) 
{
    // ...
    return (small, big);
}

您可能还想研究编写一个显式的单循环来检查每个步骤的最小值和最大值,而不是两次迭代,这是否是最佳选择(可能不是)。但是只要数据不是很大,就没有关系。而如果它巨大的,那么你进入分片一样的阵列和执行并行最小/最大的不同碎片,然后聚合碎片结果的话题。这里也可能有SIMD选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将类型'double'隐式转换为'int'。-错误

隐式将int转换为double

无法将类型 'IEnumerable<int> 隐式转换为 'int'

无法将类型int []隐式转换为int?[]

无法将类型'int'隐式转换为'bool'Unity

无法将类型“int”隐式转换为“bool”

无法将类型'float'隐式转换为'int'

无法将类型隐式转换为int []

无法将类型“bool”隐式转换为“int”

C#:错误-无法将类型'int'隐式转换为'System.Collections.Generic.IEnumerable <double>'

无法将int隐式转换为int []

隐式将NSNumber *转换为int

错误 1 无法将类型“double”隐式转换为“int”。存在显式转换(您是否缺少演员表?)

当似乎不涉及“ long”类型时,无法将“ long”类型隐式转换为“ int”

数组出现问题(无法将类型'int'隐式转换为'int []')

C# - 无法将类型“int”隐式转换为“int[][]” - CodeFights

webservice无法构建-“无法将类型'string'隐式转换为'int'”

TypeError:无法将“ int”对象隐式转换为str

TypeError:无法将“ int”对象隐式转换为str

TypeError:无法将int隐式转换为str

为什么我不能隐式将double转换为int?

为什么在调用构造函数时将int隐式转换为float而不是double?

错误:无法将int类型的表达式...隐式转换为ubyte

异步/等待:无法将类型“void”隐式转换为“int[]”

错误消息“无法将类型'String'隐式转换为'Int'”

无法将类型'int'隐式转换为'System.Collections.Generic.List <QuickTest.Stock>'

无法将类型'RDotNet.IntegerVector'隐式转换为'int'

Python:错误“类型错误:无法将 int 隐式转换为 str”

无法将类型“string”隐式转换为“int”以比较 2 个变量