Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>类用于创建n = 8或大于8的n元组。它表示包含八个或八个以上元素的元组在里面。你可以通过调用以下任一方法来实例化Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>对象元组<T1, T2, T3, T4, T5, T6, T7, TRest>(T1, T2, T3, T4, T5, T6, T7, TRest)构造函数 或由静态元组创建方法。你可以使用只读检索元组元素的值项目1, 项目2, 项目3, 项目4, 项目5, 项目6, 项目7和休息实例属性。
重要事项:
- 它实现结构可比, 结构平等和可比接口。
- 它在系统名称空间下定义。
- 你可以在嵌套的帮助下在一个元组中创建八个以上的元素。你可以在Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>中的Rest参数的位置创建一个嵌套元组。
- 它表示将多个数据合并为一个数据集。
- 它使我们能够创建, 操作和访问数据集。
- 它从方法返回多个值, 而不使用out参数。
- 它允许在单个参数的帮助下将多个值传递给方法。
- 它还可以存储重复的元素。
建设者
建设者 | 描述 |
---|---|
元组<T1, T2, T3, T4, T5, T6, T7, TRest>(T1, T2, T3, T4, T5, T6, T7, TRest) | 初始化Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>类的新实例。 |
属性
属性 | 描述 |
---|---|
项目1 | 获取Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>对象的第一个元素的值。 |
项目2 | 获取当前元组<T1, T2, T3, T4, T5, T6, T7, TRest>对象的第二个元素的值。 |
项目3 | 获取当前Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>对象的第三个元素的值。 |
项目4 | 获取当前元组<T1, T2, T3, T4, T5, T6, T7, TRest>对象的第四个元素的值。 |
项目5 | 获取当前元组<T1, T2, T3, T4, T5, T6, T7, TRest>对象的第五个元素的值。 |
项目6 | 获取当前元组<T1, T2, T3, T4, T5, T6, T7, TRest>对象的第六个元素的值。 |
项目7 | 获取当前元组<T1, T2, T3, T4, T5, T6, T7, TRest>对象的第七个元素的值。 |
休息 | 获取当前的Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>对象的剩余元素。 |
例子:
//C# progtam to illustrate the constructor
//and property of Tuple<T1, T2, T3, T4, //T5, T6, T7, TRest> Class
using System;
class GFG {
//Main Method
static public void Main()
{
//Creating 8-Tuple
//Using Tuple<T1, T2, T3, T4, T5, T6, T7, //TRest>(T1, T2, T3, T4, T5, T6, T7, //TRest) constructor
Tuple<int , int , int , string , int , string , int , Tuple<int , int>> mytuple = new Tuple<int , int , int , string , int , string , int , Tuple<int , int>>(79, 34, 67, "Geeks" , 44, "lsbin" , 66, new Tuple<int , int>(89, 77));
//Accessing the values
Console.WriteLine( "Value of the First Component: " + mytuple.Item1);
Console.WriteLine( "Value of the Second Component: " + mytuple.Item2);
Console.WriteLine( "Value of the Third Component: " + mytuple.Item3);
Console.WriteLine( "Value of the Fourth Component: " + mytuple.Item4);
Console.WriteLine( "Value of the Fifth Component: " + mytuple.Item5);
Console.WriteLine( "Value of the Sixth Component: " + mytuple.Item6);
Console.WriteLine( "Value of the Seventh Component: " + mytuple.Item7);
Console.WriteLine( "Value of the Eighth Component: " + mytuple.Rest);
}
}
输出如下:
Value of the First Component: 79
Value of the Second Component: 34
Value of the Third Component: 67
Value of the Fourth Component: Geeks
Value of the Fifth Component: 44
Value of the Sixth Component: lsbin
Value of the Seventh Component: 66
Value of the Eighth Component: (89, 77)
方法
方法 | 描述 |
---|---|
Equals(对象) | 返回一个值, 该值指示当前的Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>对象是否等于指定的对象。 |
GetHashCode() | 返回当前Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>对象的哈希码。 |
GetType() | 获取当前实例的类型。 |
MemberwiseClone() | 创建当前对象的浅表副本。 |
ToString() | 返回表示该Tuple <T1, T2, T3, T4, T5, T6, T7, TRest>实例的值的字符串。 |
例子:
//C# program to check whether the
//given tuples are equal or not
using System;
class GFG {
//Main method
static public void Main()
{
//Creating 8-Tuple
//Using Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>(T1, //T2, T3, T4, T5, T6, T7, TRest) constructor
Tuple<int , int , int , int , int , int , int , Tuple<string>> mytuple1 = new Tuple<int , int , int , int , int , int , int , Tuple<string>>(20, 40, 90, 89, 33, 66, 87, new Tuple<string>( "lsbin" ));
Tuple<int , int , int , int , int , int , int , Tuple<string>> mytuple2 = new Tuple<int , int , int , int , int , int , int , Tuple<string>>(20, 40, 90, 89, 33, 66, 87, new Tuple<string>( "lsbin" ));
//Using Equals method
if (mytuple1.Equals(mytuple2))
{
Console.WriteLine( "Tuple Matched." );
}
else
{
Console.WriteLine( "Tuple Not Matched." );
}
}
}
输出如下:
Tuple Matched.
参考:
- https://docs.microsoft.com/en-us/dotnet/api/system.tuple-8?view=netframework-4.8