在 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)>
声明一个元组列表,其中 T1
和 T2
分别是该元组的第一个和第二个元素的数据类型。
下面的代码示例向我们展示了如何在 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
循环显示它。
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