元组
元组(Tuple)是一种用于 存储多个不同类型的值的数据结构。
元组允许在一个单一的对象中组合多个值,而不需要为每个值创建一个单独的类或结构体。
特点
不可变性:元组的内容一旦创建就不能被修改。如果需要修改元组的值,只能创建一个新的元组对象。
异构性:元组可以包含不同类型的值,例如整数、字符串、布尔值等。**
命名元组:C#7.0 引入了命名元组的概念,允许为元组的每个元素指定名称,以增加代码的可读性。
普通元组
C#
// 创建一个元组
var person = Tuple.Create("John", 25, true);
Console.WriteLine(person.Item1); // "John"
Console.WriteLine(person.Item2); // 25
Console.WriteLine(person.Item3); // true
命名元组
C#
var person = (Name: "Alice", Age: 30, IsAdult: true);
Console.WriteLine(person.Name);
Console.WriteLine(person.Age);
Console.WriteLine(person.IsAdult);
// 或者使用变量构析
var (Name, Age, IsAdult) = ("Alice", 30, true);
Console.WriteLine(Name);
Console.WriteLine(Age);
Console.WriteLine(IsAdult);
元组作为函数返回值
C#
public static (string, int) GetPersonInfo()
{
return ("Bob", 28);
}
var (name, age) = GetPersonInfo();
Console.WriteLine($"Name: { name }, Age: { age }");
元组比较
注意
两个元组比较时,元素数目必须相同,否则编译报错。
C#
var t1 = (A: 5, B: 10);
var t2 = (B: 5, A: 10);
Console.WriteLine(t1 == t2); // True
C#
(int a, byte b) left = (5, 10);
(long a, int b) right = (5, 10);
Console.WriteLine(left == right); // True