📅  最后修改于: 2023-12-03 15:30:17.386000             🧑  作者: Mango
在 C# 中,元组(Tuple)是一种可以容纳多个值的类型。元组的主要用途是将多个相关的值分组在一起,以便分别访问。
C# 元组类是一个泛型类,因此可以在元组中添加不同类型的值。元组的参数可以在运行时确定,因此可以构造不同元素数量的元组。
一个常见的用例是在班级中存储学生的不同属性,如姓名、年龄、性别、学号和成绩。例如,以下代码定义了一个存储学生属性的元组:
Tuple<string, int, char, int, double> student = Tuple.Create("Alice", 20, 'F', 123456, 95.5);
在以上代码中,我们创建了一个包含五个不同类型的值的元组。第一个值是字符串类型(姓名),第二个是整数类型(年龄),第三个是字符类型(性别),第四个是整数类型(学号),第五个是双精度型(成绩)。
我们可以分别访问元组中的每个元素,如下所示:
Console.WriteLine("Name: " + student.Item1); // "Name: Alice"
Console.WriteLine("Age: " + student.Item2); // "Age: 20"
Console.WriteLine("Gender: " + student.Item3); // "Gender: F"
Console.WriteLine("ID: " + student.Item4); // "ID: 123456"
Console.WriteLine("Grade: " + student.Item5); // "Grade: 95.5"
除了使用 .ItemX 语法,我们还可以使用对象分解(Object destructuring)从元组中提取值。例如:
var (name, age, gender, id, grade) = student;
Console.WriteLine(name + " is " + age + " years old."); // "Alice is 20 years old."
C# 7.0 引入了元组类型的简化语法,允许我们为元组的项命名。例如:
(string name, int age, char gender, int id, double grade) = ("Bob", 21, 'M', 234567, 85.0);
在以上代码中,我们使用圆括号创建了一个包含五个命名项的元组类型,然后将其赋值给五个变量。接下来,我们可以像下面这样访问这些变量:
Console.WriteLine($"{name} is {age} years old and has an ID of {id}."); // "Bob is 21 years old and has an ID of 234567."
总之,C# 元组是一种非常灵活、方便的数据类型,可用于存储和处理多个值。它们特别适合在需要将多个相关项目组合在一起时使用,例如在学生和班级等场景中。