Hola a todos de nuevo. Hoy vamos a estudiar las
instrucciones de salto. ¿Y que son las instrucciones de salto? Todos sabemos
que en un programa las instrucciones se ejecutan secuencialmente, pues estas,
nos permiten saltar de una parte del programa a otro evitando esa ejecución
secuencial.
Las instrucciones de salto para C# son:
- break
- continue
- goto
- return
- throw
Y para VB.NET
- Exit For
- Exit Do
- Exit While
- Exit Select
- Continue For
- goto
- Return
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 conun 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”
No hay comentarios:
Publicar un comentario