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;
}
}
}
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 sentenciaif
que verifica si se encuentra el valor8
. Cuando se encuentra el valor, la variablevalue
se establece entrue
y se ejecuta la sentenciabreak
.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 sentenciabreak
etiquetada.Para usar una
break
etiquetada, primero debes definir una etiqueta antes del bucle externo. Por ejemplo:En el código anterior, la etiqueta
outerLoop
se define antes del bucle externo. Cuando se ejecuta la sentenciabreak
con la etiquetaouterLoop
, 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.