以您定義的格式保存數據。
Structure語句會定義格式。
舊版 Visual Basic 支援使用者定義類型 (UDT)。 目前的版本會將 UDT 擴充至 結構。 結構是各種數據類型之一或多個 成員 的串連。 Visual Basic 會將 結構視為單一單位,不過您也可以個別存取其成員。
備註
當您需要將各種數據類型合併成單一單位,或沒有任何基本數據類型符合您的需求時,請定義和使用結構數據類型。
結構數據類型的預設值是由每個成員的預設值組合所組成。
宣告格式
結構宣告會以 Structure 語句 開頭, End Structure 並以 語句結尾。 語句 Structure 會提供 結構的名稱,這也是結構所定義之數據類型的標識碼。 程序代碼的其他部分可以使用這個標識碼來宣告變數、參數和函式傳回值,以做為此結構的數據類型。
和 End Structure 語句之間的Structure宣告會定義 結構的成員。
成員存取層級
您必須使用 Dim 語句 或指定存取層級的語句來宣告每個成員,例如 Public、 Friend 或 Private。 如果您使用 Dim 語句,存取層級預設為 public。
程序設計秘訣
記憶體耗用量。 如同所有複合數據類型,您無法藉由將其成員的名義記憶體配置加在一起,安全地計算結構的總記憶體耗用量。 此外,您無法安全地假設記憶體中的記憶體順序與您的宣告順序相同。 如果您需要控制結構的儲存配置,您可以將 屬性套用 StructLayoutAttribute 至
Structure語句。Interop 考慮。 如果您要與未針對 .NET Framework 撰寫的元件互動,例如 Automation 或 COM 物件,請記住,其他環境中的使用者定義類型與 Visual Basic 結構類型不相容。
擴展。 沒有任何結構數據類型的自動轉換。 您可以使用 Operator 語句在結構上定義轉換運算子,而且您可以將每個轉換運算符宣告為
Widening或Narrowing。型別字元。 結構數據類型沒有常值類型字元或標識元類型字元。
Framework 型別。 .NET Framework 中沒有對應的類型。 所有結構都繼承自 .NET Framework 類別 System.ValueType,但沒有任何個別結構對應至 System.ValueType。
範例
下列範例顯示結構的宣告大綱。
[Public | Protected | Friend | Protected Friend | Private] Structure structname
{Dim | Public | Friend | Private} member1 As datatype1
' ...
{Dim | Public | Friend | Private} memberN As datatypeN
End Structure