English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Bucle for de C#

Aquí, aprenderás cómo usar el bucle for, la estructura del bucle for, la ejecución múltiple de instrucciones o bloques de código en bucles for anidados, y cómo salir del bucle for.

la palabra clave for representa el bucle en C#. El bucle for repite el bloque de instrucciones hasta que la condición especificada devuelva false.

Sintaxis:

for (initializer; condition; iterator)
{    
   //bloque de código 
}

el bucle for contiene las siguientes tres partes opcionales, separadas por puntos y coma:

Initializer: se utiliza para inicializar un variable que será el variable local del bucle for y no se puede acceder fuera del bucle. También puede ser cero o más declaraciones de asignación, llamadas a métodos, expresiones de aumento o disminución, por ejemplo++i o i++,así como las expresiones await.

Condition:la condición es una expresión booleana que devolverá true o false. Si el resultado de la cálculo de la expresión es true, se ejecutará nuevamente el bucle; de lo contrario, se saldrá del bucle.

Iterator:el iterador define el aumento o disminución del variable de bucle.

A continuación, se muestra un bucle for que ejecuta un bloque de código10vez.

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("el valor de i: {0}", i);
}

Intente ver la salida:

el valor de i: 0
el valor de i: 1
el valor de i: 2
el valor de i: 3
el valor de i: 4
el valor de i: 5
el valor de i: 6
el valor de i: 7
el valor de i: 8
el valor de i: 9

En el ejemplo anterior, int i = 0 es una declaración de inicialización, definimos un int inicializar el variable i con 0. La segunda parte es la expresión de condición i < 10,si la condición devuelve true, entonces ejecutará un bloque de código. Después de ejecutar el bloque de código, pasará a la tercera parte del iterador. i+ + es una declaración de增量,que aumentará el variable de bucle i el valor aumenta1Ahora, volverá a verificar la expresión de condición y repetir la misma operación hasta que la expresión de condición devuelva false. La siguiente imagen ilustra los pasos de ejecución del bucle for.

La siguiente imagen ilustra los pasos de ejecución del bucle for.

Pasos de ejecución del bucle for

Si un bloque de código contiene solo una instrucción, no es necesario encapsularla en llaves { }, como se muestra a continuación.

 Ejemplo: bucle for

for (int i = 0; i < 10; i++){
  Console.WriteLine("Valor de i: {0}", i);
}

Las partes de inicializador, condición e iterador son opcionales. Puede inicializar las variables antes del bucle for y definir las condiciones e iteradores dentro del bloque de código, como se muestra a continuación.

 Ejemplo: bucle for en C#

int i = 0;
for(;;)
{
    if (i < 10)
    {
      Console.WriteLine("Valor de i: {0}", i);
      i++;
    } else {
       break;
    }
}
Salida:
Valor de i: 0
Valor de i: 1
Valor de i: 2
Valor de i: 3
Valor de i: 4
Valor de i: 5
Valor de i: 6
Valor de i: 7
Valor de i: 8
Valor de i: 9

 Dado que estas tres partes son opcionales en el bucle for, tenga cuidado al definir las condiciones e iteradores. De lo contrario, será un bucle infinito que nunca terminará.

for (; ; )
{
    Console.Write(1);
}
Salida:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ....

El variable de control del bucle for puede ser cualquier tipo de datos numéricos, como double, decimal, etc.

for (double d = 1.01D; d < 1.10; d+= 0.01D)
{
    Console.WriteLine("Valor de i: {0}", d);
}
Salida:
Valor de i: 1.01
Valor de i: 1.02
Valor de i: 1.03
Valor de i: 1.04
Valor de i: 1.05
Valor de i: 1.06
Valor de i: 1.07
Valor de i: 1.08
Valor de i: 1.09

El componente de paso del bucle for puede aumentar o disminuir el valor de la variable.

for (int i = 10; i > 0; i--)
{
    Console.WriteLine("Valor de i: {0}", i);
}
Salida:
Valor de i: 10
Valor de i: 9
Valor de i: 8
Valor de i: 7
Valor de i: 6
Valor de i: 5
Valor de i: 4
Valor de i: 3
Valor de i: 2
Valor de i: 1

Salir del bucle for

También puede usar la palabra clave break para salir del bucle for.

for (int i = 0; i < 10; i++)
{
    if (i == 5 )
        break;
    Console.WriteLine("Valor de i: {0}", i);
}
Salida:
Valor de i: 0
Valor de i: 1
Valor de i: 2
Valor de i: 3
Valor de i: 4

Múltiples expresiones

El bucle for también puede incluir múltiples expresiones separadas por comas como términos de inicialización y iterador, como se muestra a continuación.

for (int i = 0, j = 0; i+j < 5; i++, j++)
{
    Console.WriteLine("Valor de i: {0}, J: {",1} ", i,j);
}
Salida:
Valor de i: 0, J: 0 
Valor de i: 1, J: 1 
Valor de i: 2, J: 2

El bucle for también puede incluir instrucciones como términos de inicialización y iterador.

int i = 0, j = 5;
for (Console.WriteLine($"Inicializador: i={i}, j={j}"); 
    i++ < j--; 
    Console.WriteLine($"Iterador: i={i}, j={j}"))
    {
    }

Salida:

Inicializador:i = 0,j = 5
Iterador:i = 1,j = 4  
Iterador:i = 2,j = 3  
Iterador:i = 3,j = 2

Bucle anidado

C# permite un bucle for dentro de otro bucle for.

for (int i = 0; i < 2; i++)
{
    for(int j =i; j < 4; j++){
       Console.WriteLine("Valor de i: {0}, J: {1} ", i,j);
    }
        
}
Salida:
Valor de i:0,J:0 
Valor de i:0,J:1  
Valor de i:0,J:2  
Valor de i:0,J:3  
Valor de i:1,J:1  
Valor de i:1 ,J:2  
Valor de i:1,J:3