Bagikan melalui


#If... Kemudian... #Else Direktif

Mengkompilasi blok kode Visual Basic yang dipilih secara kondisional.

Sintaksis

#If expression Then
   statements
[ #ElseIf expression Then
   [ statements ]
...
#ElseIf expression Then
   [ statements ] ]
[ #Else
   [ statements ] ]
#End If

Bagian

expression
Diperlukan untuk #If pernyataan dan #ElseIf , opsional di tempat lain. Ekspresi apa pun, yang terdiri secara eksklusif dari satu atau beberapa konstanta kompilator kondisional, literal, dan operator, yang mengevaluasi ke True atau False.

statements
Diperlukan untuk #If blok pernyataan, opsional di tempat lain. Garis program Visual Basic atau arahan kompilator yang dikompilasi jika ekspresi terkait mengevaluasi ke True.

#End If
#If Mengakhiri blok pernyataan.

Komentar

Di permukaan, perilaku arahan #If...Then...#Else muncul sama If...Then...Else dengan pernyataan. Namun, arahan #If...Then...#Else mengevaluasi apa yang dikompilasi oleh kompilator, sedangkan If...Then...Else pernyataan mengevaluasi kondisi pada run time.

Kompilasi kondisional biasanya digunakan untuk mengkompilasi program yang sama untuk platform yang berbeda. Ini juga digunakan untuk mencegah kode debugging muncul dalam file yang dapat dieksekusi. Kode yang dikecualikan selama kompilasi kondisional benar-benar dihilangkan dari file akhir yang dapat dieksekusi, sehingga tidak berpengaruh pada ukuran atau performa.

Terlepas dari hasil evaluasi apa pun, semua ekspresi dievaluasi menggunakan Option Compare Binary. Pernyataan Option Compare tidak memengaruhi ekspresi dalam #If pernyataan dan #ElseIf .

Nota

Tidak ada bentuk baris tunggal dari #If, , #Else#ElseIf, dan #End If direktif yang ada. Tidak ada kode lain yang dapat muncul pada baris yang sama dengan direktif mana pun.

Pernyataan dalam blok kompilasi kondisional harus merupakan pernyataan logis lengkap. Misalnya, Anda tidak dapat mengkompilasi atribut fungsi secara kondisional saja, tetapi Anda dapat mendeklarasikan fungsi secara kondisional bersama dengan atributnya:

#If DEBUG Then
<WebMethod()>
Public Function SomeFunction() As String
#Else
<WebMethod(CacheDuration:=86400)>
Public Function SomeFunction() As String
#End If

Contoh

Contoh ini menggunakan #If...Then...#Else konstruksi untuk menentukan apakah akan mengkompilasi pernyataan tertentu.

#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

Lihat juga