Ich setze die Elemente eines Arrays auf Nothing, wenn die gleichen Elemente in einem anderen Array Nothing ist. (Aus verschiedenen Gründen kann ich das Array nicht klonen). Beide Arrays sind Objekttyp. Wenn Elemente im ersten Array Objx (i, j) jedoch gleich 0 sind, wird die logische Anweisung als Nothing ausgewertet und das Element des zweiten Arrays als Nothing festgelegt. Warum wird ein Nullelement in einem Array des Objekttyps zu Nothing ausgewertet?Null Element in einem Array von Objekttyp Auswertung auf nichts
For i = 1 To NumRecords
For j = 1 To NumFields
If objx(i, j) = Nothing Then x(i, j) = Nothing
Next
Next
Außerdem gibt es eine Notwendigkeit, einen fehlenden Datum Code zu verwenden, zu testen, ob ein Element des Arrays fehlen und deshalb auf nichts werden würde, wenn sie fehlt wahr ist.
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
Nun, wenn ein Benutzer des fehlenden Datencode muss -9999, eingestellt wird und deshalb setzt:
MissingDataCode = -9999
wird die folgende Lage sein, Werte von -9999 zu fangen und die zweiten Satz Array zu nichts?
If objx(i, j) = MissingDataCode Then x(i, j) = Nothing
oder sollte die Codezeile
If objx(i, j) Is MissingDataCode Then x(i, j) = Nothing
Was sind die Array-Typen? Die Kerntypen wie Integer verwenden Nothing als Standardwert (0). Zum Beispiel wird Dim arryx (1, 1) As Int32 ein Array mit allen Elementen 0 (Standard) erstellen. – Plutonix
Schalten Sie Option Strict ein und ändern Sie den Vergleich zu If objx (i, j) Ist nichts Dann x (i, j) = Nichts – dbasnett
Sie sind beide Objekt-Arrays. – wrtsvkrfm