Sei sulla pagina 1di 3

Instruccin If...Then...

Else
(Visual Basic)
Visual Studio 2013
Otras versiones
Personas que lo han encontrado til: 3 de 7 - Valorar este tema
Ejecuta condicionalmente un grupo de instrucciones en funcin del valor de una expresin.
' Multiple-line syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]

Elementos
condition
Requerido. Expresin. Debe evaluarse en True o False, o en un tipo de datos que sea
implcitamente convertible a Boolean.
Si la expresin es una variable Valores NULLBoolean que evala Nada, se trata la condicin
como si la expresin no es True, y ejecuta el bloque Else .
Then
Obligatorio en la sintaxis de una lnea, opcional en la sintaxis de varias lneas.
statements
Opcional. Se ejecutan una o ms instrucciones que siguen a If...Then que se ejecutan
si condition se evala como True.
elseifcondition
Obligatorio si ElseIf est presente. Expresin. Debe evaluarse en True o False, o en un tipo
de datos que sea implcitamente convertible a Boolean.
elseifstatements
Opcional. Se ejecutan una o ms instrucciones que siguen a ElseIf...Then que se ejecutan
si elseifcondition se evala como True.
elsestatements
Opcional. Una o ms instrucciones que se ejecutan si ninguna
expresin condition o elseifcondition anterior se evala como True.
End If
Termina el bloque If...Then...Else.

Comentarios
Sintaxis de varias lneas
Cuando se encuentra una instruccin If...Then...Else, se prueba condition. Si condition es True, se
ejecutan las instrucciones que estn a continuacin de Then. Si conditiones False, cada
instruccin ElseIf (si hay alguna) se evala en orden. Cuando se encuentra una elseifcondition que
sea True, se ejecutan las instrucciones que siguen inmediatamente a la
instruccin ElseIf asociada. Si elseifcondition se evala como True, o si no hay ninguna
instruccin ElseIf, se ejecutan las instrucciones situadas despus de Else. Despus de la ejecucin
de las instrucciones que siguen a Then, ElseIf o Else, la ejecucin contina con la instruccin que
sigue a End If.
Las clusulas ElseIf y Else son opcionales. Puede tener tantas clusulas ElseIf como desee en una
instruccin If...Then...Else, pero no puede aparecer ninguna clusulaElseIf despus de una
clusula Else. If ...Then...Else las instrucciones se pueden anidar una dentro de otra.
Con la sintaxis de varias lneas, la instruccin If debe ser la nica instruccin incluida en la primera
lnea. Las instrucciones ElseIf, Else y End If pueden ir precedidas solamente por una etiqueta de
lnea. El bloque If...Then...Else debe terminar con una instruccin End If.

Sugerencia

La Instruccin Select...Case (Visual Basic) puede ser ms til al evaluar una nica expresin que tiene varios

Sintaxis de una nica lnea


Puede utilizar la sintaxis de una sola lnea para pruebas cortas y sencillas. Sin embargo, la sintaxis de
varias lneas proporciona ms estructura y flexibilidad y, generalmente, es ms fcil de leer,
mantener y depurar.
Lo que sigue a la palabra clave Then se examina para determinar si una declaracin es un If de una
sola lnea. Si aparece cualquier otra cosa que no sea un comentario despus de Then en la misma
lnea, sta se trata como una instruccin If de una sola lnea. Si no est presente Then, debe ser el
comienzo de una instruccinIf...Then...Else de varias lneas.
En la sintaxis de una lnea, puede que se ejecuten varias instrucciones como resultado de una
decisin If...Then. Todas las instrucciones deben estar en la misma lnea y separarse con dos puntos.

Ejemplo
En el ejemplo siguiente se muestra el uso de la sintaxis de varias lneas de la
instruccin If...Then...Else.
VB
Dim count As Integer = 0
Dim message As String
If count = 0 Then
message = "There are no items."
ElseIf count = 1 Then
message = "There is 1 item."
Else
message = "There are " & count & " items."
End If

El ejemplo siguiente contiene instrucciones If...Then...Else anidadas.


VB
Private Function CheckIfTime() As Boolean
' Determine the current day of week and hour of day.
Dim dayW As DayOfWeek = DateTime.Now.DayOfWeek
Dim hour As Integer = DateTime.Now.Hour
' Return True if Wednesday from 2 to 4 P.M.,
' or if Thursday from noon to 1 P.M.
If dayW = DayOfWeek.Wednesday Then
If hour = 14 Or hour = 15 Then
Return True
Else
Return False
End If
ElseIf dayW = DayOfWeek.Thursday Then
If hour = 12 Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function

En el ejemplo siguiente se muestra el uso de la sintaxis de una nica lnea.


VB
' If A > 10, execute the three colon-separated statements in the order
' that they appear
If A > 10 Then A = A + 1 : B = B + A : C = C + B

Potrebbero piacerti anche