Я устанавливаю элементы массива в Nothing, если те же элементы в другом массиве - Nothing. (по разным причинам я не могу клонировать массив). Оба массива - это тип объекта. Однако, когда элементы в первом массиве Objx (i, j) равны 0, логический оператор оценивает значение Nothing и устанавливает элемент второго массива в Nothing. Почему нулевой элемент в массиве типа объекта, который не имеет значения?Нулевой элемент в массиве типа объекта, который не имеет значения
For i = 1 To NumRecords
For j = 1 To NumFields
If objx(i, j) = Nothing Then x(i, j) = Nothing
Next
Next
Кроме того, существует необходимость использовать недостающий код данных, чтобы проверить, если элементы массива давал отсутствуют, и, следовательно, должен быть установлен в настоящее время, если отсутствует правда.
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
Какие типы массивов? Основные типы, такие как integer, используют Nothing как значение по умолчанию (0). Например, 'Dim arryx (1, 1) As Int32' создаст массив со всеми элементами 0 (по умолчанию). – Plutonix
Включите опцию Strict On и измените сравнение с If objx (i, j) Nothing. X (i, j) = Nothing – dbasnett
Они оба являются объектными массивами. – wrtsvkrfm