Sdílet prostřednictvím


Deklarace proměnné v jazyce Visual Basic

Deklarujete proměnnou, která určuje její název a vlastnosti. Příkaz deklarace pro proměnné je Dim Statement. Jeho umístění a obsah určují charakteristiky proměnné.

Informace o pravidlech pojmenování proměnných a důležitých aspektech najdete v tématu Deklarované názvy elementů.

Úrovně deklarací

Místní a členské proměnné

Místní proměnná je ta, která je deklarována v rámci procedury. Členová proměnná je členem typu Jazyka Visual Basic; deklaruje se na úrovni modulu uvnitř třídy, struktury nebo modulu, ale ne v rámci interní procedury pro danou třídu, strukturu nebo modul.

Sdílené proměnné a proměnné instancí

Kategorie členské proměnné ve třídě nebo struktuře závisí na tom, zda je sdílena nebo ne. Pokud je deklarována pomocí sdíleného klíčového slova, jedná se o sdílenou proměnnou a existuje v jedné kopii sdílené mezi všemi instancemi třídy nebo struktury.

Jinak se jedná o proměnnou instance a pro každou instanci třídy nebo struktury se vytvoří samostatná kopie. Daná kopie proměnné instance je k dispozici pouze pro instanci třídy nebo struktury, ve které byla vytvořena. Je nezávislá na kopii proměnné instance v jakékoli jiné instanci třídy nebo struktury.

Deklarování datového typu

Klauzule As v příkazu deklarace umožňuje definovat datový typ nebo typ objektu proměnné, kterou deklarujete. Pro proměnnou můžete zadat libovolný z následujících typů:

  • Základní datový typ, například Boolean, Longnebo Decimal

  • Složený datový typ, například pole nebo struktura

  • Typ objektu nebo třída definovaná buď v aplikaci, nebo v jiné aplikaci

  • Třída rozhraní .NET Framework, například Label nebo TextBox

  • Typ rozhraní, například IComparable nebo IDisposable

V jednom příkazu můžete deklarovat několik proměnných, aniž byste museli opakovat datový typ. V následujících příkazech jsou proměnné i, j a k deklarovány jako typ Integer, l a m jako Long, a x a y jako Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Další informace o datových typech najdete v Datové typy. Další informace o objektech naleznete v tématu Objekty a třídy a programování s komponentami.

Odvození místního typu

Odvození typu se používá k určení datových typů místních proměnných deklarovaných bez As klauzule. Kompilátor odvodí typ proměnné z typu inicializačního výrazu. To umožňuje deklarovat proměnné bez explicitního uvedení typu. V následujícím příkladu jsou oba num1 a num2 striktně typovány jako celá čísla.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Pokud chcete použít odvození místního typu, Option Infer musí být nastaveno na On. Další informace naleznete v tématu místní odvození typu a příkaz Option Infer.

Charakteristiky deklarovaných proměnných

Životnost proměnné je časové období, během kterého je k dispozici pro použití. Obecně platí, že proměnná existuje, pokud prvek, který ho deklaruje (například proceduru nebo třídu), stále existuje. Pokud proměnná nemusí pokračovat v průběhu životnosti jeho obsahujícího prvku, nemusíte v deklaraci dělat nic zvláštního. Pokud proměnná musí existovat déle, než existuje její obsahující prvek, můžete do jeho příkazu zahrnout klíčová slova Static nebo Shared pomocí Dim. Další informace naleznete v tématu Životnost v jazyce Visual Basic.

Obor proměnné je soubor veškerého kódu, který na ni může odkazovat, aniž by bylo potřeba upřesnit její název. Obor proměnné je určen tím, kde je deklarován. Kód umístěný v dané oblasti může používat proměnné definované v této oblasti, aniž by bylo nutné kvalifikovat jejich názvy. Další informace naleznete v tématu Obor v jazyce Visual Basic.

Úroveň přístupu proměnné je rozsah kódu, který má oprávnění k přístupu. Určuje to modifikátor přístupu (například veřejný nebo soukromý), který použijete v Dim příkazu. Další informace naleznete v tématu Úrovně přístupu v jazyce Visual Basic.

Viz také