breakcontinuegotoreturnthrow
Y para VB.NET
Exit ForExit DoExit WhileExit SelectContinue ForgotoReturn
Paso a paso, vamos a detallar una por una excepto la última que la incluiremos en el tratamiento de errores.
La instrucción break nos permita terminar un bucle o salir de una instrucción switch, es decir por ejemplo, si creamos un bucle do while que vaya sumando 1 a una variable y le ponemos la condición de que cuando esa variable llegue a 100 salga del bucle, pues en la parte verdadera de esa condición es donde debemos poner el break, para que así salga y no siga sumando. Para VB.NET, se utiliza Exit For para un bucle For Next, Exit Do para un bucle Do While, Exit While para un bucle While y Exit Select para una instrucción Select Case. Como veis, C# se complica menos y utiliza break para todos los casos.
for (int i = 1; i <= 1000; i++)
{
if (i == 100)
{
break;
}
Console.WriteLine(i);
}
Mismo caso pero con una instrucción while
int n = 0;
while (true)
{
n += 1;
if (n==100)
{
break;
}
}
Y su equivalente para Vb.NET
For i As Integer = 1 To 1000
If i = 100 Then
Exit For
End If
Console.WriteLine(i)
Next
Dim n As Integer = 0
While True
n += 1
If n = 100 Then
Exit While
End If
End While
continue, es una instrucción que no suelo utilizar a menudo, pero es curiosa en cuanto a su funcionamiento. Esta lo que provoca dentro de un bucle for o foreach, pasar a la siguiente iteración, por ejemplo.
for (int i = 1; i <= 10; i++)
{
if (i < 9)
{
continue;
}
Console.WriteLine(i);
}
En este ejemplo cuando i es menor que 9 la instrucción continue evita que se escriba en la consola pasando a darle un valor nuevo a i hasta que i es mayor o igual a 9, donde entonces se imprimirá el valor en pantalla. Su equivalente en VB.NET es Continue For.
For i As Integer = 1 To 10
If i < 9 Then
Continue For
End If
Console.WriteLine(i)
Next
Goto transfiera o envía el control del programa a un sitio concreto del programa y ¿cómo sabe donde tiene que enviarlo?, pues porque en ese lugar debe existir una etiqueta. También puede usarse para transferir el control de programa a una etiqueta de una instrucción switch. Además, como es normal, podemos usarla también para salir de bucles, ¿no crees? Exponemos ejemplos. En el primero, aparecerá en pantalla ‘He salido’ cuando el valor de i valga 9.
C#
for (int i = 1; i <= 10; i++)
{
if (i > 8)
{
goto SalidaPrograma;
}
}
SalidaPrograma:
Console.WriteLine("He salido");
VB.NET
For i As Integer = 1 To 10
If i > 8 Then
GoTo SalidaPrograma
End If
Next
SalidaPrograma:
Console.WriteLine("He salido")
En el caso de salto dentro de una instrucción switch, lo vemos a continuación en el que dependiendo del valor de n, (el resto no me valen), en el que para el caso de 2 y 3, efectuará la suma propia del caso, pero además lo reenviará al valor 1 donde volverá a sumarle 25, ¿ok?
C#
int valor=0;
switch (n)
{
case 1:
valor += 25;
break;
case 2:
valor += 25;
goto case 1;
case 3:
valor += 50;
goto case 1;
default:
Console.WriteLine("Esto no me vale");
break;
}
VB.NET
Dim valor As Integer = 0
Select Case n
Case 1
valor += 25
Exit Select
Case 2
valor += 25
goto case 1
Case 3
valor += 50
goto case 1
Case Else
Console.WriteLine("Esto no me vale")
Exit Select
End Select
La instrucción return acaba la ejecución del método donde se ha ejecutado y devuelve el control al método que llamó antes, además puede devolver algún valor. Con un ejemplo lo veremos con más claridad.
Si ejecutamos el método Inicio, se llamará al método CalcularAreaCirculo con un valor de radio igual a 5. Dentro del método de cálculo, se efectuarán los cálculos pertinentes para obtener el área y acto seguido se ejecuta return area, devolviendo el valor del área al método que lo llamó que es Inicio. Una vez este tiene el valor, lo visualiza en pantalla. Lo que si tenemos que tener en cuenta para VB.NET, es que para que un método devuelva un valor, debe ser una función (Function), cosa que en C# en vez de void se le asigna un tipo.
C#
private void Inicio()
{
int radius = 5;
double result = CalcularAreaCirculo(radius);
Console.WriteLine("El area es {0:0.00}", result);
Console.ReadKey();
}
private double CalcularAreaCirculo(int r)
{
double area = r * r * Math.PI;
return area;
}
VB.NET
Private Sub Inicio()
Dim radius As Integer = 5
Dim result As Double = CalcularAreaCirculo(radius)
Console.WriteLine("El area es {0:0.00}", result)
Console.ReadKey()
End Sub
Private Function CalcularAreaCirculo(r As Integer) As Double
Dim area As Double = r * r * Math.PI
Return area
End Function
Pues esto es todo en cuanto a las instrucciones de salto, fácil, ¿no?. Pues nos vemos en la próxima entrega!!
Saludos “der Waki”