如何用C#中的NaN填充多个数组

时间:2017-01-10 13:02:04

标签: c# arrays

有一个数组'数据',我想用NaN填充它 这是我的方法,但它不起作用

int[,] data = new int[1000, 37];
for (int i = 0, i< sizeof.originaldata, ++i)
{ 
data(i) = NaN
}

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:4)

下标运算符为[],而非()

你必须做data[i, j] = NaN,因为它是一个多维数组。

但是int无论如何都不能NaN,因此您可以切换到使用double,或者使用int?数组来代替使用null代替NaN

答案 1 :(得分:0)

NaN不属于int类型。它的类型为double。即使您使用c#([])下标而不是您使用的VB(()),您的作业也会爆炸。

如果您必须使用int,则需要对阵列使用int?,而null代替NaN

答案 2 :(得分:0)

您的代码中存在多个错误,首先int不接受NaN,第二次使用[]代替()数组,第三次使用在;循环中,代替forNaN应该使用Double或“{1}}”。 class,最后你需要第二个for循环来遍历数组第二维中的所有变量。

请参阅以下更新版本以实现您的意图:

Double[,] data = new Double[1000, 37];
for (int i = 0; i <= data.GetUpperBound(0); i++)
{ 
    for (int j = 0; j <= data.GetUpperBound(1); j++)
    { 
       data[i, j] = Double.NaN;
    }
}