【问题标题】:from multiple-dimension array double, to int从多维数组double,到int
【发布时间】:2017-07-05 11:43:46
【问题描述】:

正如标题所说,我想知道是否有一种简单的方法可以将double 数字的多维数组转换为同一个数组,但在int 数字中。

当然,我们可以有两个(或更多)for 循环到每个数字并转换它们,但我想知道是否有一种简单的方法可以做到这一点? :)

(顺便说一句,如果这个问题已经被问了很多,但我没有找到任何答案,我真的很抱歉!)

编辑:由于我缺乏很多信息: 我有例如

double[,] tab1 = {{3.42,1.6523,42.42142},{42.124,932.241, 9.421}};
int[,] tab2;

最后我想拥有

tab2 = {{3,1,42}{42,932,9}}

现在我要做的代码是

for(int i=0; i<tab1.GetLength(0); i++){
    for (int j=0; j<tab1.GetLength(1); j++) {
        tab2[i,j] = (int)tab1[i,j];
    }
}

【问题讨论】:

  • 显然他们提供的解决方案在这种情况下不起作用
  • 主要解决方案不起作用,但显示的扩展方法可用于处理此问题。然而,这确实减少到只运行嵌套循环。

标签: c#


【解决方案1】:

考虑到它是一个二维数组,您可以使用单个for 循环并使用Array.ConvertAll() 方法来完成。请参阅下面的示例。希望给个指点

int[] convertedArray = Array.ConvertAll(myDoubleArray, x => (int)x);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多