如果另一個數組中的相同元素爲Nothing,我將數組的元素設置爲Nothing。 (由於各種原因,我無法克隆數組)。這兩個數組都是對象類型。但是,當第一個數組Objx(i,j)中的元素等於0時,邏輯語句的計算結果爲Nothing,並將第二個數組的元素設置爲Nothing。爲什麼Object類型的數組中的零元素計算爲Nothing?對象類型數組中的零元素求值爲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
什麼是數組類型?像integer這樣的核心類型使用Nothing作爲默認值(0)。例如,'Dim arryx(1,1)As Int32'將創建一個包含所有元素0(默認值)的數組。 – Plutonix
將選項嚴格打開並將比較結果更改爲如果objx(i,j)爲Nothing Then x(i,j)= Nothing – dbasnett
它們都是對象數組。 – wrtsvkrfm