Uživatelský datový typ
Uchovává data ve formátu, který definujete. Příkaz Structure
definuje formát.
Předchozí verze jazyka Visual Basic podporují uživatelem definovaný typ (UDT). Aktuální verze rozšiřuje UDT na strukturu. Struktura je zřetězení jednoho nebo více členů různých datových typů. Visual Basic považuje strukturu za jedinou jednotku, i když k jejím členům můžete přistupovat jednotlivě.
Poznámky
Datový typ struktury můžete definovat a použít, když potřebujete zkombinovat různé datové typy do jedné jednotky nebo když žádný ze základních datových typů nebude vašim potřebám sloužit.
Výchozí hodnota datového typu struktury se skládá z kombinace výchozích hodnot jednotlivých členů.
Formát deklarace
Deklarace struktury začíná příkazem Structure a končí příkazem End Structure
. Příkaz Structure
poskytuje název struktury, což je také identifikátor datového typu, který struktura definuje. Další části kódu mohou tento identifikátor použít k deklaraci proměnných, parametrů a návratových hodnot funkce, které mají být datovým typem této struktury.
Deklarace mezi příkazy Structure
a End Structure
příkazy definují členy struktury.
Úrovně přístupu členů
Každý člen musíte deklarovat pomocí příkazu Dim nebo příkazu, který určuje úroveň přístupu, například veřejné, přítel nebo soukromé. Pokud použijete Dim
příkaz, výchozí úroveň přístupu je veřejná.
Tipy k programování
Spotřeba paměti. Stejně jako u všech složených datových typů nelze bezpečně vypočítat celkovou spotřebu paměti struktury tak, že sečtou nominální přidělení úložiště jejích členů. Navíc nemůžete bezpečně předpokládat, že pořadí úložiště v paměti je stejné jako pořadí deklarací. Pokud potřebujete řídit rozložení úložiště struktury, můžete na příkaz použít StructLayoutAttribute atribut
Structure
.Co je potřeba vzít v úvahu. Pokud spolupracujete s komponentami, které nejsou napsané pro rozhraní .NET Framework, například pro objekty Automation nebo COM, mějte na paměti, že uživatelem definované typy v jiných prostředích nejsou kompatibilní s typy struktur jazyka Visual Basic.
Rozšíření. Neexistuje žádný automatický převod na datový typ struktury ani z ní. Operátory převodu můžete definovat ve své struktuře pomocí příkazu Operátor a můžete deklarovat každý operátor převodu být
Widening
neboNarrowing
.Zadejte znaky. Datové typy struktury nemají žádný znak literálu ani znak typu identifikátoru.
Typ architektury. V rozhraní .NET Framework neexistuje odpovídající typ. Všechny struktury dědí z třídy System.ValueTyperozhraní .NET Framework , ale žádná jednotlivá struktura neodpovídá System.ValueType.
Příklad
Následující paradigma ukazuje osnovu deklarace struktury.
[Public | Protected | Friend | Protected Friend | Private] Structure structname
{Dim | Public | Friend | Private} member1 As datatype1
' ...
{Dim | Public | Friend | Private} memberN As datatypeN
End Structure