Const utasítás (Visual Basic)
Deklarál és definiál egy vagy több állandót.
Syntax
[ <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ő On megadni. 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ó; a deklarált 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 értéke.
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
Shadows
hozzá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
constantname
részt. Több állandót vessző választ el egymástól.
Adattípus-szabályok
Adattípusok. Az
Const
utasí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ípustinitializer
veszi fel: . Ha mindkettőtdatatype
initializer
megadja, az adattípusnakinitializer
konvertálhatónakdatatype
kell lennie. Ha egyik semdatatype
initializer
jelenik 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
As
záradékot használ. Egy közösAs
zá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óvalString
vagyChar
argumentummal hívja meg, mivel ez a fordítási időpontban kiértékelhető.
Működés
Hatály. 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 Object
rendelkező állandót határoz meg, a Visual Basic fordító a helyett a típust initializer
Object
adja 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 ToString GetType operátor által visszaadott objektum metódusát Type használja, mert Type nem konvertálható String
a használatávalCStr
.
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: