Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

163
Vistas
¿Cómo genera este ciclo anidado una lista separada en 3 secciones con 3 palabras en cada sección?

Soy muy nuevo en C#. Tenía curiosidad sobre cómo este bloque de código imprimía 3 líneas separadas con las 3 palabras en las matrices. ¿Alguien podría explicar cómo funciona?

 using System; namespace MyFirstProgram { class Program { static void Main(string[] args) { String[,] parkingLot = {{ "Mustang", "F-150", "Explorer" }, { "Corvette", "Camaro", "Silverado" }, { "Corolla", "Camry", "Rav4" }}; for(int i = 0; i < parkingLot.GetLength(0); i++) { for (int j = 0; j < parkingLot.GetLength(1); j++) { Console.Write(parkingLot[i, j] + " "); } Console.WriteLine(); } Console.ReadKey(); } } }```
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El método GetLength() devuelve el tamaño de la dimensión pasada:

Obtiene un entero de 32 bits que representa el número de elementos en la dimensión especificada de Array.

Observe que a la primera llamada se le pasa un cero:

 parkingLot.GetLength(0)

Esto devuelve el número de FILAS en la matriz 2D.

A la segunda llamada se le pasa un uno:

 parkingLot.GetLength(1)

Lo que le indica el número de COLUMNAS en la matriz 2D.

Quizás este ejemplo ilustre mejor el concepto:

 String[,] parkingLot = { { "a", "b", "c" }, { "1", "2", "3" }, { "red", "green", "blue" }, { "cat", "dog", "fish"}, { "A1", "B2", "C3"} }; for(int row = 0; row < parkingLot.GetLength(0); row++) // 5 rows { for (int col = 0; col < parkingLot.GetLength(1); col++) // 3 columns { Console.Write(parkingLot[row, col] + " "); } Console.WriteLine(); }

Producción:

 abc 1 2 3 red green blue cat dog fish A1 B2 C3
over 4 years ago · Santiago Trujillo Denunciar

0

Voy a dividir esto en cada línea del código y explicar lo que hace.

 String[,] parkingLot = { { "Mustang", "F-150", "Explorer" }, { "Corvette", "Camaro", "Silverado" }, { "Corolla", "Camry", "Rav4" } };

parkingLot es una matriz de cadenas multidimensional. Esto significa que esta es una matriz de cadenas que contiene otras matrices de tipo cadena. Piense en cada {} dentro del {} más grande en su propio objeto Array al que se puede acceder.

 for (int i = 0; i < parkingLot.GetLength(0); i++)

Los bucles for están diseñados para recorrer un número específico de elementos. el entero "i" creado al principio indica que el ciclo comenzará en el índice 0. Comenzamos en 0 porque la indexación de matrices comienza en 0.

La duración de este bucle dura tanto como el número de matrices ({}) en la matriz inicializada. En este caso, debido a que parkingLot contiene 3 matrices, la longitud es 3.

 for (int j = 0; j < parkingLot.GetLength(1); j++)

Esta parte del código se itera dentro del bucle for que se encuentra encima y se itera sobre cada elemento dentro de una sola matriz. La parte "GetLength(1)" del código toma la longitud de una sola instancia de matriz dentro de la matriz general. Por ejemplo: la primera instancia de matriz en esta matriz multidimensional contiene { "Mustang", "F-150", "Explorer"}, siendo 3 cadenas. Por lo tanto, la longitud también será 3.

 Console.Write(parkingLot[i, j] + " ");

Aquí, podemos ver que hay una referencia a i y j. Déjame mostrarte lo que sucede paso a paso:

cuando i=0, el código comienza a iterar otro bucle, que debe calcular j = 0, j = 1 y j = 2 antes de pasar a i = 1. Esto significa que debe leer cada elemento de la matriz antes de pasar al siguiente formación.

Por ejemplo: decir:

  • i = 0, y j = 0. esto sería acceder a "Mustang"
  • i = 1, y j = 2 estarían accediendo a "Silverado"
  • i = 2 y j = 1 estarían accediendo a "Camry"
 Console.WriteLine();

Después de escribir cada elemento en el bucle j, este fragmento de código escribe las respuestas en la consola. Es por eso que cada elemento de las matrices aparece en una línea.

 Console.ReadKey();

Después de presionar esta tecla, el programa se cierra.

Le sugiero que juegue con las variables y cree sus propias matrices y matrices multidimensionales. De esa manera, puedes ver cómo funcionan y qué no les gusta que hagas con ellos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda