C# TupleT1,T2,T3,T4,T5,T6,T7,TRest类

2021年5月7日13:52:14 发表评论 763 次浏览

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

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: