Sentencias condicionales IF, Switch, For y While en C# [Ejemplos]

⚡ Resumen inteligente

En C#, las sentencias condicionales y los bucles controlan el flujo de un programa ejecutando o repitiendo bloques de código según la lógica. Las sentencias if, switch, while y for permiten que un programa tome decisiones e itere de forma eficiente.

  • 🔀 Control de flujo: Las sentencias condicionales alteran el orden de ejecución, de modo que un programa ejecuta solo las sentencias que coinciden con su lógica.
  • ❓ Si la instrucción: La instrucción if evalúa una expresión booleana y ejecuta un bloque cuando es verdadera y otro cuando es falsa.
  • 🔢 Sentencia switch: La instrucción switch compara un valor con varias etiquetas de caso y utiliza break para detenerse una vez que se encuentra una coincidencia.
  • 🔁 Bucle while: El bucle while repite un bloque de instrucciones mientras su condición se mantiene verdadera, lo que resulta adecuado para un número desconocido de iteraciones.
  • 🔄 Bucle for: El bucle for inicializa, prueba e incrementa un contador en una sola línea, lo cual es ideal cuando se conoce el número de repeticiones.
  • 🤖 Asistencia de IA: GitHub Copilot elabora la lógica de las estructuras if, switch y loop, mientras que ML.NET reutiliza las mismas condiciones para ramificar las canalizaciones de aprendizaje automático.

Sentencias condicionales en C#

Control de flujo y declaraciones condicionales

El control de flujo y las declaraciones condicionales están disponibles en cualquier lenguaje de programación para alterar el flujo de un programa.

Por ejemplo, si alguien quiere ejecutar solo un conjunto particular de instrucciones basándose en cierta lógica, entonces el control de flujo y las instrucciones condicionales serán útiles.

Comprenderá mejor a medida que analicemos las diversas declaraciones que están disponibles en C#.

Tenga en cuenta que todo el código siguiente se realiza en el archivo Program.cs.

1) Si declaración

La instrucción if se utiliza para evaluar una expresión booleana antes de ejecutar un conjunto de instrucciones. Si una expresión se evalúa como verdadera, se ejecutará un conjunto de instrucciones; de lo contrario, se ejecutará otro.

En el ejemplo que se muestra a continuación, se realiza una comparación para una variable llamada valor. Si el valor de la variable es menor que 10, se ejecutará una instrucción; de lo contrario, se ejecutará otra.

Si declaración

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

Code Explicación:-

  1. Primero definimos una variable llamada valor y la configuramos en el valor de 11.
  2. Luego usamos la declaración "si" para verificar si el valor es menor que 10 de la variable. El resultado será verdadero o falso.
  3. Si la condición if se evalúa como verdadera, enviamos el mensaje "El valor es menor que 10" a la consola.
  4. Si la condición if se evalúa como falsa, enviamos el mensaje "El valor es mayor que 10" a la consola.

Si el código anterior se ingresa correctamente y el programa se ejecuta con éxito, se mostrará el siguiente resultado.

Salida:

Si declaración

Podemos ver claramente que la declaración "si" se evaluó como falsa. Por lo tanto, se envió el mensaje "El valor es mayor que 10" a la consola.

2) Declaración de cambio

La declaración de cambio es una mejora de la declaración "si". Si tiene varias expresiones que deben evaluarse de una sola vez, escribir varias declaraciones "si" se convierte en un problema.

La declaración de cambio se utiliza para evaluar una expresión y ejecutar diferentes declaraciones según el resultado de la expresión. Si una condición no se evalúa como verdadera, la declaración de cambio pasará a la siguiente condición y así sucesivamente.

Veamos cómo funciona esto con el siguiente ejemplo. Aquí, nuevamente, comparamos el valor de una variable llamada 'valor'. Luego, verificamos si el valor es igual a 1, a 2 o a algo completamente diferente.

Declaración de cambio

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

Code Explicación:-

  1. Primero definimos una variable llamada "valor" y la configuramos en el valor de 11.
  2. Luego usamos la declaración 'switch' para verificar el valor de la variable 'valor'.
  3. Las declaraciones de casos se utilizan para establecer diferentes condiciones. Según las condiciones, se puede ejecutar un conjunto de declaraciones. Una declaración de cambio puede tener múltiples condiciones de caso. La primera declaración de caso verifica si el valor de la variable es igual a 1.
  4. Si la primera declaración del caso es verdadera, entonces el mensaje "El valor es 1" se escribe en la consola.
  5. La declaración de interrupción se utiliza para romper con la declaración de cambio completa, una vez que una condición es verdadera.
  6. La condición predeterminada es una condición especial. Esto simplemente significa que si ninguna expresión de caso se evalúa como verdadera, ejecute el conjunto de declaraciones para la condición predeterminada.

Si el código anterior se introduce correctamente y el programa se ejecuta correctamente, se mostrará el siguiente resultado. El resultado muestra el valor predeterminado “El valor es diferente”, ya que no se cumple ninguna condición.

Salida:

Declaración de cambio

3) Mientras que el bucle

El bucle while se utiliza con fines iterativos. Supongamos que si desea repetir un determinado conjunto de declaraciones una cantidad determinada de veces, entonces se utiliza el bucle while.

En nuestro ejemplo a continuación, usamos la declaración while para mostrar el valor de una variable "i". La declaración while se utiliza para mostrar el valor 3 veces.

Mientras bucle

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

Code Explicación:-

  1. dos enteros las variables están definidos, uno es el valor y el otro es "i". La variable de valor se utiliza como límite superior hasta el cual debemos iterar nuestra declaración while. Y 'i' es la variable que se procesará durante la iteración.
  2. En la declaración while, el valor de "i" se compara constantemente con el límite superior.
  3. Aquí mostramos el valor de 'i' en la consola. También incrementamos el valor de 'i'.

Si el código anterior se ingresa correctamente y el programa se ejecuta con éxito, se mostrará el siguiente resultado.

Salida:

Mientras bucle

Aquí se puede ver que la instrucción while se ejecuta 3 veces y se incrementa al mismo tiempo. Y cada vez, se muestra el valor actual de la variable 'i'.

4) Para bucle

El bucle 'for' también se utiliza con fines iterativos. Por ejemplo, si se desea repetir un conjunto de instrucciones un número determinado de veces, se utiliza un bucle 'for'.

En nuestro ejemplo siguiente, utilizamos la declaración "for" para mostrar el valor de una variable "i". La declaración "para" se utiliza para mostrar el valor 3 veces.

En bucle

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

Code Explicación:-

  1. La palabra clave "for" se utiliza para iniciar la declaración "for loop".
  2. En el 'bucle for', definimos 3 cosas. La primera es inicializar el valor de una variable, que se utilizará en el 'bucle for'.
  3. El segundo es comparar el valor de la 'i' con un límite superior. En nuestro caso, el límite superior es el valor de 3 (i<3).
  4. Finalmente, incrementamos el valor de "i" en consecuencia.
  5. Aquí mostramos el valor de 'i' en la consola.

Si el código anterior se ingresa correctamente y el programa se ejecuta con éxito, se mostrará el siguiente resultado.

Salida:

En bucle

Aquí se puede ver que la instrucción "for" se ejecuta 3 veces y, en cada una de ellas, se muestra el valor actual de la variable "i".

Preguntas Frecuentes

La instrucción `if` maneja rangos y condiciones booleanas complejas, mientras que la instrucción `switch` compara un valor con varias etiquetas de caso fijas. `switch` es más limpia para muchos valores discretos, mientras que `if-else` se adapta mejor a rangos, múltiples variables y operadores lógicos.

Una sentencia if anidada coloca una sentencia if dentro de otra, de modo que la condición interna se evalúa solo cuando la condición externa es verdadera. Esto permite que un programa compruebe varias condiciones dependientes, aunque un anidamiento profundo reduce la legibilidad.

Un bucle while comprueba su condición antes de cada iteración, por lo que puede no ejecutarse nunca. Un bucle do-while comprueba la condición después del cuerpo, por lo que siempre se ejecuta al menos una vez, lo cual es adecuado para menús y validación de entrada.

La instrucción `break` sale inmediatamente de un bucle o switch, mientras que la instrucción `continue` omite el resto de la iteración actual y pasa a la siguiente. Ambas modifican el flujo, pero solo `break` finaliza el bucle por completo.

El operador ternario ?: es una forma compacta de if-else. Evalúa una condición, devuelve el primer valor cuando la condición es verdadera y el segundo cuando es falsa, lo que produce una asignación concisa en una sola línea.

Un bucle foreach recorre cada elemento de una colección, como un array o una lista, sin necesidad de un índice ni un contador. Lee la colección de forma segura y evita errores comunes como el desfase de un elemento o el de índice fuera de rango.

Sí. GitHub Copilot sugiere bloques if, switch, while y for desde un comentario o nombre de método dentro de Visual Studio y VS Code. RevRevise cada sugerencia para conocer las condiciones y los límites de bucle correctos, ya que Copilot puede introducir errores de uno.

Las canalizaciones de ML.NET utilizan sentencias condicionales de C# para ramificar en función de los valores de las características y bucles para iterar sobre las filas de entrenamiento. La misma lógica if, switch y for prepara los datos y enruta las predicciones, mantieneping un flujo de trabajo de aprendizaje automático fuertemente tipado.

Resumir este post con: