Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Deklarál és definiál egy vagy több állandót.
Szemantika
[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist
Részek
attributelist
Opcionális. Az ebben az utasításban deklarált összes állandóra vonatkozó attribútumok listája. Lásd az attribútumlistát szögletes zárójelekben ("<" és ">").
accessmodifier
Opcionális. Ezzel megadhatja, hogy milyen kód férhet hozzá ezekhez az állandókhoz. Lehet nyilvános, védett, barát, védett barát, privát vagy privát védelem.
Shadows
Opcionális. Ezzel újraklarálhatja és elrejtheti egy programozási elemet egy alaposztályban. Lásd : Árnyékok.
constantlist
Szükséges. Az ebben az utasításban deklarált állandók listája.
constant
[ ,
constant
... ]
Mindegyik constant a következő szintaxist és részeket tartalmazza:
constantname
[ As
datatype
] =
initializer
| Rész | Leírás |
|---|---|
constantname |
Szükséges. Az állandó neve. Lásd: Deklarált elemnevek. |
datatype |
Ha igen, akkor Option Strict kötelező Onmegadni. Az állandó adattípusa. |
initializer |
Szükséges. A fordításkor kiértékelt és az állandóhoz rendelt kifejezés. |
Megjegyzések
Ha olyan értékkel rendelkezik, amely soha nem változik az alkalmazásban, definiálhat egy elnevezett állandót, és konstansérték helyett használhatja azt. A nevek könnyebben megjegyezhetők, mint egy érték. Az állandót csak egyszer definiálhatja, és számos helyen használhatja a kódban. Ha egy későbbi verzióban újra kell definiálnia az értéket, az Const utasítás az egyetlen hely, ahol módosítania kell.
Csak modul- vagy eljárásszinten használható Const . Ez azt jelenti, hogy egy változó deklarációs környezetének osztálynak, struktúrának, modulnak, eljárásnak vagy blokknak kell lennie, és nem lehet forrásfájl, névtér vagy felület. További információ: Deklarációs környezetek és alapértelmezett hozzáférési szintek.
A helyi állandók (egy eljáráson belül) alapértelmezés szerint nyilvános hozzáférést biztosítanak, és nem használhatja rajtuk a hozzáférési módosítókat. Az osztály- és modultag-állandók (az eljáráson kívül) alapértelmezés szerint a privát hozzáféréshez, a struktúratag-állandók pedig alapértelmezés szerint a nyilvános hozzáféréshez. A hozzáférési szinteket a hozzáférési módosítókkal módosíthatja.
Szabályok
Deklarációs környezet. A modul szintjén deklarált állandó bármely eljáráson kívül tagállandó; az azt deklaráló osztály, struktúra vagy modul tagja.
Az eljárás szintjén deklarált állandó helyi állandó; az azt deklaráló eljárás vagy blokk helyi.
Attribútumok. Attribútumokat csak tagállandókra alkalmazhat, helyi állandókra nem. Az attribútumok információkat adnak hozzá a szerelvény metaadataihoz, ami nem értelmezhető az ideiglenes tárolás, például a helyi állandók esetében.
Módosítók. Alapértelmezés szerint az összes állandó az
Shared,StaticésReadOnly. Konstans deklarálásakor ezek közül a kulcsszavak közül egyik sem használható.Eljárásszinten a helyi állandók deklarálásához nem használhat
Shadowshozzáférési módosítókat vagy hozzáférési módosítókat.Több állandó. Ugyanabban a deklarációs utasításban több állandót is deklarálhat, és mindegyikhez megadhatja a
constantnamerészt. Több állandót vessző választ el egymástól.
Adattípus-szabályok
Adattípusok. Az
Constutasítás deklarálhatja egy változó adattípusát. Bármilyen adattípust vagy enumerálás nevét megadhatja.Alapértelmezett típus. Ha nem adja meg
datatype, az állandó a következő adattípustinitializerveszi fel: . Ha mindkettőtdatatypeinitializermegadja, az adattípusnakinitializerkonvertálhatónakdatatypekell lennie. Ha egyik semdatatypeinitializerjelenik meg, az adattípus alapértelmezés szerint a következő leszObject: .Különböző típusok. Különböző adattípusokat adhat meg a különböző állandókhoz, ha minden egyes deklarált változóhoz külön
Aszáradékot használ. Egy közösAszáradék használatával azonban nem deklarálhat több azonos típusú állandót.Inicializálás. Inicializálnia kell az összes konstans értékét a következőben
constantlist: . A konstanshoz hozzárendelendő kifejezés megadására használhatóinitializer. A kifejezés lehet a konstansok, a már definiált egyéb állandók és a már definiált tagok számbavétele. Ezeket az elemeket számtani és logikai operátorokkal kombinálhatja.Nem használhat változókat vagy függvényeket a következőben
initializer: . Azonban használhat konverziós kulcsszavakat, példáulCByteésCShort. Használhatja azt isAscW, ha állandóvalStringvagyCharargumentummal hívja meg, mivel ez a fordítási időpontban kiértékelhető.
Magatartás
Hatókör A helyi állandók csak a saját eljárásukból vagy blokkjukból érhetők el. A tagállandók az osztályukon, struktúrájukon vagy moduljukon belül bárhonnan elérhetők.
Minősítés. Az osztályon, struktúrán vagy modulon kívüli kódnak az adott osztály, struktúra vagy modul nevével kell minősítenie egy tagállandó nevét. Az eljáráson vagy blokkon kívüli kód nem hivatkozhat az adott eljárás vagy blokk helyi állandóira.
1. példa
Az alábbi példa az utasítást használja konstansok Const deklarálásához a literális értékek helyett.
' The following statements declare constants.
Const maximum As Long = 459
Public Const helpString As String = "HELP"
Private Const startValue As Integer = 5
2. példa
Ha egy adattípussal Objectrendelkező állandót határoz meg, a Visual Basic fordító a helyett a típust initializerObjectadja meg. Az alábbi példában az állandó naturalLogBase futási idő típusú Decimal.
Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " &
naturalLogBase.GetType.ToString())
Az előző példa a ToStringGetType operátor által visszaadott objektum metódusát Type használja, mert Type nem konvertálható String a használatávalCStr.