在 C# 中声明多维列表

Muhammad Maisam Abbas 2023年1月30日 2021年3月21日
  1. 在 C# 中用 List<List<T>> 声明 2D 列表
  2. 使用 C# 中的类列表声明多维列表
  3. 在 C# 中使用元组列表声明多维列表
在 C# 中声明多维列表

在本教程中,我们将讨论在 C# 中声明多维列表的方法。

在 C# 中用 List<List<T>> 声明 2D 列表

遗憾的是,没有内置的方法在 C# 中声明多维列表。因此,要实现此目标,我们必须依靠一些用户定义的方法。我们可以使用 C# 中的 List<List<T>> 符号来声明一个列表,其中 T 指定列表中变量的类型。以下代码示例向我们展示了如何使用 C# 中的 List<List<T>> 标记声明 2D 列表。

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();
            }
    }
}

输出:

Person Description
Person Description
Person Description

我们用 C# 中的 List<List<string>> 标记声明了一个二维变量列表列表 Person。要在列表中输入数据,我们必须将数据存储到另一个 string 变量列表中,然后使用 Person.Add() 函数将该对象添加到 Person 列表中。我们使用嵌套循环输出列表。该方法的缺点是它仅适用于 2D 数组,并且其中只能包含 1 个数据类型的元素。

使用 C# 中的类列表声明多维列表

如果要创建多个数据类型的列表,可以在 C# 中声明类对象的列表。众所周知,可以包含多个具有不同数据类型的变量。以下代码示例向我们展示了如何通过在 C# 中创建对象列表来声明 2D 列表。

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);
            }
    }
}

输出:

Person
Description
Person
Description
Person
Description

我们通过在 C# 中创建 Person 类的列表来声明 2D 列表 People。要在列表中输入数据,我们必须将数据存储到 Person 类的对象中,然后使用 People.Add() 函数将该对象添加到 People 列表中。通过这种方法,我们可以在列表中包含多个具有不同数据类型的元素。

在 C# 中使用元组列表声明多维列表

如果我们要在列表中使用多种数据类型,但又不想创建一个单独的类来存储所有变量,则还可以声明一个元组列表。我们可以用 C# 中的 List<(T1, T2)> 声明一个元组列表,其中 T1T2 分别是该元组的第一个和第二个元素的数据类型。

下面的代码示例向我们展示了如何在 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);
            }
    }
}

输出:

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

我们用 C# 中的 List<(string, string)> 标记声明了元组 Person 的列表。我们以元组的形式在 Person 列表中输入数据,并通过 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

相关文章 - Csharp List