Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

155
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!