Declarar una lista multidimensional en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Declarar una lista 2D con List<List<T>> en C#
  2. Declarar una lista multidimensional con una lista de clases en C#
  3. Declarar una lista multidimensional con una lista de tuplas en C#
Declarar una lista multidimensional en C#

En este tutorial, discutiremos métodos para declarar una lista multidimensional en C#.

Declarar una lista 2D con List<List<T>> en C#

Desafortunadamente, no existe un método integrado para declarar una lista multidimensional en C#. Entonces, para lograr este objetivo, tenemos que confiar en algunos enfoques definidos por el usuario. Podemos declarar una lista de listas con la notación List<List<T>> en C#, donde T especifica el tipo de variables dentro de la lista. El siguiente ejemplo de código nos muestra cómo podemos declarar una lista 2D con la notación List<List<T>> en C#.

using System;
using System.Collections.Generic;

namespace multidimensional_list {
  class Program {
    static void Main(string[] args) {
      List<List<string>> Person = new List<List<string>>();
      for (int i = 0; i < 3; i++) {
        List<string> Data = new List<string>();
        Data.Add("Person ");
        Data.Add("Description ");
        Person.Add(Data);
      }
      foreach (var list in Person) {
        foreach (var element in list) {
          Console.Write(element);
        }
        Console.WriteLine();
      }
    }
  }

Producción :

Person Description
Person Description
Person Description

Declaramos una lista 2D Person de variables de cadena con la notación List<List<string>> en C#. Para ingresar datos en la lista, tenemos que almacenar los datos en otra lista de variables de string y luego agregar ese objeto a la lista de Person con la función Person.Add(). Generamos la lista con un bucle anidado. El inconveniente de este método es que solo funciona para matrices 2D, y solo podemos tener elementos de 1 tipo de datos.

Declarar una lista multidimensional con una lista de clases en C#

Si queremos crear una lista de múltiples tipos de datos, podemos declarar una lista de objetos de clase en C#. Como sabemos, una clase puede tener múltiples variables de diferentes tipos de datos. El siguiente ejemplo de código nos muestra cómo podemos declarar una lista 2D creando una lista de objetos en C#.

using System;
using System.Collections.Generic;

namespace multidimensional_list {
  public class Person {
    public string Name { get; set; }
    public string Description { get; set; }
  }
  class Program {
    static void Main(string[] args) {
      List<Person> People = new List<Person>();
      for (int i = 0; i < 3; i++) {
        Person p = new Person();
        p.Name = "Person ";
        p.Description = "Description ";
        People.Add(p);
      }
      foreach (var obj in People) {
        Console.WriteLine(obj.Name);
        Console.WriteLine(obj.Description);
      }
    }
  }

Producción :

Person
Description
Person
Description
Person
Description

Declaramos una lista 2D People creando una lista de la clase Person en C#. Para ingresar datos en la lista, tenemos que almacenar los datos en un objeto de la clase Person y luego agregar ese objeto a la lista People con la función People.Add(). Con este enfoque, podemos tener múltiples elementos de diferentes tipos de datos en la lista.

Declarar una lista multidimensional con una lista de tuplas en C#

Si queremos usar varios tipos de datos en nuestra lista pero no queremos crear una clase separada para almacenar todas las variables, también podemos declarar una lista de tuplas. Podemos declarar una lista de tuplas con la notación List<(T1, T2)> en C#, donde T1 y T2 son los tipos de datos del primer y segundo elemento de la tupla, respectivamente.

El siguiente ejemplo de código nos muestra cómo declarar una lista multidimensional con una lista de tuplas en C#.

using System;
using System.Collections.Generic;

namespace multidimensional_list {
  class Program {
    static void Main(string[] args) {
      List<(string, string)> Person = new List<(string, string)>();
      for (int i = 0; i < 3; i++) {
        Person.Add(("Person ", "Description "));
      }
      foreach (var list in Person) {
        Console.WriteLine(list);
      }
    }
  }

Producción :

(Person , Description )
(Person , Description )
(Person , Description )

Declaramos una lista de tuplas Person con la notación List<(cadena, cadena)> en C#. Introducimos datos en la lista Person en forma de tuplas y los mostramos con un bucle foreach.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Csharp List