#If... Ezután...#Else irányelvek
Feltételesen lefordítja a Visual Basic-kód kijelölt blokkjait.
Syntax
#If expression Then
statements
[ #ElseIf expression Then
[ statements ]
...
#ElseIf expression Then
[ statements ] ]
[ #Else
[ statements ] ]
#End If
Részek
expression
Máshol nem kötelező megadni az utasításokat és #ElseIf
az #If
utasításokat. Bármely kifejezés, amely kizárólag egy vagy több feltételes fordítóállandóból, konstansból és operátorból áll, amely kiértékeli True
a következőt: vagy False
.
statements
Az utasításblokkhoz #If
szükséges, máshol nem kötelező. A Visual Basic programsorai vagy fordítói irányelvei akkor lesznek lefordítva, ha a társított kifejezés kiértékeli a következőt True
: .
#End If
Leállítja az #If
utasításblokkot.
Megjegyzések
A felszínen az irányelvek viselkedése #If...Then...#Else
ugyanúgy jelenik meg, mint az If...Then...Else
utasításokban. Az #If...Then...#Else
irányelvek azonban kiértékelik a fordító által összeállított adatokat, míg az utasítások futásidőben értékelik a If...Then...Else
feltételeket.
A feltételes fordítást általában arra használják, hogy ugyanazt a programot lefordítsa különböző platformokra. Azt is megakadályozza, hogy a hibakeresési kód megjelenjen egy végrehajtható fájlban. A feltételes fordítás során kizárt kód teljesen hiányzik a végleges végrehajtható fájlból, így nincs hatással a méretre vagy a teljesítményre.
A kiértékelés eredményétől függetlenül az összes kifejezés kiértékelése a használatával Option Compare Binary
történik. Az Option Compare
utasítás nem befolyásolja a benne és #ElseIf
az utasításban lévő #If
kifejezéseket.
Feljegyzés
A , #Else
, #ElseIf
és #End If
irányelvek egyetlensoros formája #If
sem létezik. Más kód nem jelenhet meg ugyanazon a sorban, mint bármelyik irányelv.
A feltételes fordítási blokkban lévő utasításoknak teljes logikai utasításoknak kell lenniük. Például nem fordíthatja le feltételesen egy függvény attribútumait, de feltételesen deklarálhatja a függvényt az attribútumaival együtt:
#If DEBUG Then
<WebMethod()>
Public Function SomeFunction() As String
#Else
<WebMethod(CacheDuration:=86400)>
Public Function SomeFunction() As String
#End If
Példa
Ez a példa a #If...Then...#Else
szerkezettel határozza meg, hogy egyes utasítások fordítása szükséges-e.
#Const CustomerNumber = 36
#If CustomerNumber = 35 Then
' Insert code to be compiled for customer # 35.
#ElseIf CustomerNumber = 36 Then
' Insert code to be compiled for customer # 36.
#Else
' Insert code to be compiled for all other customers.
#End If
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: