如果另一个数组中的相同元素是 Nothing,我将数组的元素设置为 Nothing。(由于各种原因,我无法克隆阵列)。两个数组都是对象类型。但是,当第一个数组 Objx(i, j) 中的元素等于 0 时,逻辑语句的计算结果为 Nothing 并将第二个数组的元素设置为 Nothing。为什么 Object 类型的数组中的零元素评估为 Nothing?
For i = 1 To NumRecords
For j = 1 To NumFields
If objx(i, j) = Nothing Then x(i, j) = Nothing
Next
Next
此外,需要使用缺失数据代码来测试数组的元素是否缺失,因此如果缺失为真,则将其设置为 Nothing。
Dim MissingDataCode As Object = Nothing
For i = 1 To NumRecords
For j = 1 To NumFields
If objx(i, j) Is MissingDataCode Then x(i, j) = Nothing
'If objx(i, j) = MissingDataCode Then x(i, j) = Nothing (does not work)
Next
Next
现在,如果用户需要将缺失数据代码设置为 -9999,因此设置:
MissingDataCode = -9999
以下是否能够捕获 -9999 的值并将第二个数组设置为 Nothing?
If objx(i, j) = MissingDataCode Then x(i, j) = Nothing
或者代码行应该是
If objx(i, j) Is MissingDataCode Then x(i, j) = Nothing