es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Detener la iteración en una matriz 2D con break

Me preguntaba cómo puedo detener la iteración a través de las filas y columnas de una matriz 2D si se encuentra un valor.

int[,] matrix = new int[8, 10];

Random rnd = new Random();

bool value = false;

for (int row = 0; row < matrix.GetLength(0); row++)
{
for (int col = 0; col < matrix.GetLength(1); col++)
{
int number = rnd.Next(1, matrix.Length + 1);
matrix[row, col] = number;
Console.Write(“{0,3}”, number);

if (number == 8)
{
   value = true;
   break;           
}                

}
}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para detener la iteración a través de las filas y columnas de una matriz 2D si se encuentra un valor, puedes usar la sentencia break. En el ejemplo de código proporcionado, ya existe una sentencia if que verifica si se encuentra el valor 8. Cuando se encuentra el valor, la variable value se establece en true y se ejecuta la sentencia break.

    La sentencia break saldrá del bucle interno donde se encontró el valor y continuará ejecutando el código después del bucle. Si deseas salir de ambos bucles (interno y externo) cuando se encuentre el valor, puedes usar una sentencia break etiquetada.

    Para usar una break etiquetada, primero debes definir una etiqueta antes del bucle externo. Por ejemplo:

    outerLoop:
    for (int row = 0; row < matrix.GetLength(0); row++)
    {
       for (int col = 0; col < matrix.GetLength(1); col++)
       {
           // ...
           if (number == 8)
           {
               value = true;
               break outerLoop;
           }
       }
    }
    

    En el código anterior, la etiqueta outerLoop se define antes del bucle externo. Cuando se ejecuta la sentencia break con la etiqueta outerLoop, se saldrán tanto los bucles interno como externo.

    Ten en cuenta que el uso de una break etiquetada puede hacer que el código sea más difícil de leer y entender, y solo debe usarse como último recurso.

Comments are closed.