Bagikan melalui


Arahan #If...Then...#Else

Mengompilasi secara kondisional blok pilihan kode Visual Basic.

Sintaks

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

Generator

expression
Wajib diisi untuk pernyataan #If dan #ElseIf, opsional di tempat lain. Ekspresi apa pun, yang secara eksklusif terdiri dari satu atau lebih konstanta kompiler kondisional, harfiah, dan operator, yang mengevaluasi ke True atau False.

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

#End If
Menghentikan blok pernyataan #If.

Keterangan

Di permukaan, perilaku arahan #If...Then...#Else muncul sama seperti perilaku dengan pernyataan If...Then...Else. Namun, arahan #If...Then...#Else mengevaluasi apa yang dikompilasi kompiler, sedangkan pernyataan If...Then...Else mengevaluasi kondisi pada durasi.

Kompilasi kondisional biasanya digunakan untuk mengompilasi 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 pada pernyataan #If dan #ElseIf.

Catatan

Tidak ada bentuk baris tunggal dari arahan #If, #Else, #ElseIf, dan #End If. Tidak ada kode lain yang dapat muncul pada baris yang sama dengan salah satu arahan.

Pernyataan dalam blok kompilasi kondisional harus merupakan pernyataan logis lengkap. Misalnya, Anda tidak dapat mengompilasi secara kondisional atribut fungsi saja, tetapi Anda dapat mendeklarasikan fungsi itu 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 konstruksi #If...Then...#Else untuk menentukan apakah akan mengompilasi 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