📅  最后修改于: 2023-12-03 15:00:15.388000             🧑  作者: Mango
C# 程序语言中提供了元组(Tuple)类型,它是一个可以容纳多个元素的数据结构。元组类型包含类型从 1 到 8 的不同数量的元素,可以使用泛型元组类型在 C# 中创建元组。
我们可以使用元组 Tuple<T1>
或 ValueTuple<T1>
对一个班级进行建模,这个班级包含多个学生信息,例如学号、姓名和分数等。一个完整的班级信息可以被表示为一个元组,它的第一个元素表示学生的学号,第二个元素表示学生的姓名,第三个元素表示学生的分数。
下面是一个示例,展示了如何使用 C# 的元组类型实现一个班级:
using System;
public class Program
{
public static void Main()
{
// 定义学生信息元组
var student1 = Tuple.Create("001", "小明", 90);
var student2 = Tuple.Create("002", "小红", 80);
// 定义班级元组
var class1 = Tuple.Create(student1, student2);
// 输出班级信息
Console.WriteLine("班级信息:");
Console.WriteLine($"学号:{class1.Item1.Item1},姓名:{class1.Item1.Item2},分数:{class1.Item1.Item3}");
Console.WriteLine($"学号:{class1.Item2.Item1},姓名:{class1.Item2.Item2},分数:{class1.Item2.Item3}");
}
}
运行输出结果为:
班级信息:
学号:001,姓名:小明,分数:90
学号:002,姓名:小红,分数:80
在上述代码中,我们使用了 Tuple.Create()
方法创建学生信息元组,并将其通过 Tuple.Create()
方法包装成班级元组。然后我们使用 Item1
、Item2
和 Item3
属性分别获取班级中每个学生的学号、姓名和分数。
在 C# 7.0 中,还引入了 ValueTuple<T1>
类型,它与 Tuple<T1>
类型的功能类似。不同之处在于,ValueTuple<T1>
是结构体类型,而 Tuple<T1>
是类类型。在元组返回类型中使用结构体类型可以提高性能。
下面是一个使用 ValueTuple<T1>
实现班级元组的示例代码:
using System;
public class Program
{
public static void Main()
{
// 定义学生信息元组
var student1 = ("001", "小明", 90);
var student2 = ("002", "小红", 80);
// 定义班级元组
var class1 = (student1, student2);
// 输出班级信息
Console.WriteLine("班级信息:");
Console.WriteLine($"学号:{class1.Item1.Item1},姓名:{class1.Item1.Item2},分数:{class1.Item1.Item3}");
Console.WriteLine($"学号:{class1.Item2.Item1},姓名:{class1.Item2.Item2},分数:{class1.Item2.Item3}");
}
}
运行输出结果与上述示例代码相同。
总结:
Tuple<T1>
或 ValueTuple<T1>
定义元组