2010-11-26 79 views

回答

6
  • 默認值是Empty
  • 「會做某件事」爲任意值,除了Empty0"" ...
    • ...的什麼值錢的東西,代碼將引發錯誤和「東西不會做」。

VB6 documentation

當變量被初始化,一個 數值變量被初始化爲0, 一個可變長度的字符串是 初始化爲零長度字符串 (」 「),並且一個固定長度的字符串是 填充了零。變量變量 被初始化爲空。用戶定義類型變量的每個元素 初始化爲 ,就好像它是單獨的 變量。

+1

如果內存服務,如果`someValue`的值爲Nothing,或者是默認屬性產生Nothing的對象等,則上面的代碼會崩潰,因爲不等於運算符會比較注意`someValue`的類型是`Object`,嘗試獲取它的默認屬性,然後嘗試比較它(如果需要,則獲取的默認屬性等)。由於試圖獲取默認屬性「Nothing `會失敗,代碼會崩潰。 – supercat 2012-11-21 19:18:13

+0

@supercat問題說「這個變量永遠不會被分配一個值」。因此,因爲這是VB6它將包含空(與Nothing不同)。因此,除了Empty,0或「」 – MarkJ 2012-11-21 20:15:00

4

Get the most out of Variants in VB6我會做一個假設,如果myvar不是「」,然後do something。我不確定,現在無法檢查,但可以自己檢查。

當一個變種已宣告但 未分配的值,它包含了 特殊值空。您可以測試與IsEmpty函數
這...
如果 一個空的變體在 表達式中使用,就被當作要麼 值爲0或取決於表達一個空字符串 。