Arrays irregulares
Parte de la sección Lógica y Flujo del Journey de C# de Coddy. Lección 5 de 66.
Las matrices dentadas en C# son matrices de matrices, donde cada matriz interna puede tener una longitud diferente.
Crea un arreglo irregular con 3 filas:
int[][] jaggedArray = new int[3][];Inicializa cada fila con longitudes diferentes:
jaggedArray[0] = new int[4]; // La primera fila tiene 4 elementos
jaggedArray[1] = new int[2]; // La segunda fila tiene 2 elementos
jaggedArray[2] = new int[5]; // La tercera fila tiene 5 elementosAsignar valores a los elementos:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;Inicializar una matriz irregular con valores:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};Obtener el número de filas:
int rows = jaggedArray.Length; // Devuelve 3Obtener la longitud de una fila específica:
int elementsInRow1 = jaggedArray[1].Length; // Devuelve 2Desafío
IntermedioCrea un método llamado createTriangle que:
- Acepte un entero positivo
sizecomo parámetro - Devuelva un arreglo irregular que represente un patrón triangular
- Cada fila debe tener un elemento más que la fila anterior
- Cada elemento debe ser igual a su índice de fila más su índice de columna
Por ejemplo, con size = 4, el arreglo irregular debería ser:
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]Pruébalo tú mismo
public class CreateTriangle
{
// Implementa el método CreateTriangle
public static int[][] createTriangle(int size)
{
// Escribe tu código aquí
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arrays multidimensionales
Conceptos básicos de arrays 2DDeclaración e inicialización de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DArrays irregularesOperaciones comunes con matricesRepaso: arrays multidimensionales4Técnicas de control de flujo
Retornos anticipadosCláusulas de guardaSentencias de salto (goto)Break y ContinueAplanar condicionales anidados7Operadores lógicos avanzados
Evaluación de cortocircuitoOperadores lógicos condicionalesPrecedencia de operadoresRepaso: operadores avanzados2Toma de decisiones avanzada
Múltiples condicionesLógica booleana complejaComparación entre If y SwitchSentencias Switch anidadasRepaso: decisiones avanzadas5Manejo de excepciones
Fundamentos de Try-CatchTipos de excepcionesMúltiples bloques CatchTrabajo con archivosBloque FinallyUso de Using frente a Try-FinallyExcepciones personalizadasRepaso: manejo de errores3Mejoras de bucles
Rendimiento de buclesIteración de estructuras complejasCada tipo de bucleRefactorización de buclesRepaso: bucles optimizados6Manejo de valores nulos
Conceptos básicos de referencias nulasTipos de valor anulablesPatrones de comprobación de valores nulosProgramación defensivaRepaso: seguridad frente a valores nulosPractica por tu cuenta: Compilador de C# online