有一个数组'数据',我想用NaN填充它 这是我的方法,但它不起作用
int[,] data = new int[1000, 37];
for (int i = 0, i< sizeof.originaldata, ++i)
{
data(i) = NaN
}
有人可以帮助我吗?
答案 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
,第二次使用[]
代替()
数组,第三次使用在;
循环中,
代替for
,NaN
应该使用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;
}
}