欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

聲明變量可以用DIMPUBLICprivate等

錢瀠龍2年前23瀏覽0評論

聲明變量可以用DIMPUBLICprivate等?

static 語句

請參閱 示例 特性

在過程級別中使用,用于聲明變量并分配存儲空間。在整個代碼運行期間都能保留使用 Static 語句聲明的變量的值。

語法

Static varname[([subscripts])] [As [New] type] [, varname[([subscripts])] [As [New] type]] . . .

Static 語句的語法包含下面部分:

部分 描述

varname 必需的。變量的名稱;遵循標準變量命名約定。

subscripts 可選的。數組變量的維數;最多可以定義 60 維的多維數組。subscripts 參數使用下面的語法:

[lower To] upper [,[lower To] upper] . . .

如果不顯式指定 lower,則數組的下界由 Option Base 語句控制。如果沒有 Option Base 語句則下界為 0。

New 可選的。用它可以隱式地創建對象的關鍵字。如果使用 New 聲明對象變量,則在第一次引用該變量時將新建該對象的實例,因此不必使用 Set 語句來對該對象引用賦值。New 關鍵字不能用來聲明任何內部數據類型的變量,也不能用來聲明從屬對象的實例。

type 可選的。變量的數據類型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(對變長的字符串)、String * length(對定長的字符串)、Object、Variant、用戶定義類型或對象類型。所聲明的每個變量都要有一個單獨的 As type 子句。

說明

模塊的代碼開始運行后,使用 Static 語句聲明的變量會一直保持其值,直至該模塊復位或重新啟動。可以在非靜態的過程中使用 Static 語句顯式聲明只在該過程內可見,但具有與包含該過程定義的模塊相同生命期的變量。

可以在過程中使用 Static 語句來聲明在過程調用之間仍能保持其值的變量的數據類型。例如,下面的語句聲明了一個定長的整型數組:

Static EmployeeNumber(200) As Integer

下面的語句為 worksheet 的新實例聲明了一個變量:

Static X As New Worksheet

如果在定義對象變量時沒有使用 New 關鍵字,則在使用該變量之前,必須使用 Set 語句將一個已有的對象賦給這個引用對象的變量。在被賦值之前,所聲明的這個對象變量有一個特定值 Nothing,這個值表示該變量沒有指向任何對象的實例。若在聲明中使用了 New 關鍵字,則在第一次引用對象時將新建一個該對象的實例。

如果不指定數據類型或對象類型,且在模塊中沒有使用 Deftype 語句,則按缺省情況,定義該變量為 Variant 類型。

注意 Static 語句與 Static 關鍵字很相似,但是針對不同的效果來使用的。如果使用 Static 關鍵字(如 Static Sub CountSales ())來聲明一個過程,則該過程中的所有局部變量的存儲空間都只分配一次,且這些變量的值在整個程序運行期間都存在。對非靜態過程而言,該過程每次被調用時都要為其變量分配存儲空間,當該過程結束時都要釋放其變量的存儲空間。Static 語句則用來在非靜態的過程中聲明特定的變量,以使其在程序運行期間能保持其值。

在初始化變量時,數值變量被初始化為 0,變長的字符串被初始化為一個零長度的字符串 (""),而定長的字符串則用 0 填充。Variant 變量被初始化為 Empty。用戶自定義類型的變量的每個元素作為各自獨立的變量進行初始化。

注意 如果在過程中使用 Static 語句,應和其它的聲明語句(如 Dim)一樣將其放在過程的開始。

Static 語句示例

該示例使用 Static 語句,可以在模塊代碼運行期間一直保持變量的值。

'函數定義。

Function KeepTotal(Number)

'只有 Accumulate 變量能在調用過程之間保持其值。

Static Accumulate

Accumulate = Accumulate + Number

KeepTotal = Accumulate

End Function

'Static 函數定義。

Static Function MyFunction(Arg1, Arg2, Arg3)

'所有局部變量在函數調用之間都能保持其值。

Accumulate = Arg1 + Arg2 + Arg3

Half = Accumulate / 2

MyFunction = Half

End Function