C#元组类介绍和用法示例

2021年5月7日13:51:04 发表评论 818 次浏览

C#中, Tuple类用于提供用于创建的静态方法元组而这个类在系统命名空间。此类本身并不表示元组, 但是它提供了用于创建元组类型的实例的静态方法。换句话说, Tuple类提供了用于实例化元组对象的辅助方法, 而不必显式指定每个元组组件的类型。在元组中, 只能存储1到8个元素, 如果尝试存储大于8个的元素而没有嵌套元组, 则编译器将给出错误消息。

通常, 使用元组:

  • 将多个数据表示为一个数据集。
  • 创建, 操作和访问数据集。
  • 从一个方法返回多个值而不使用out参数。
  • 在单个参数的帮助下将多个值传递给方法。

注意:你也可以在元组类提供的构造函数的帮助下创建元组, 但是在构造函数中, 必须指定元组中存在的元素的类型, 如以下示例所示:

例子:

//C# program to create tuple 
//using tuple constructor.
using System;
  
class GFG {
  
     //Main method
     static public void Main()
     {
  
         //Creating tuple with seven elements
         //Using Tuple<T1, T2, T3, T4, T5, T6, //T7>(T1, T2, T3, T4, T5, T6, T7) constructor
         Tuple<int , int , int , int , int , int , int> My_Tuple = new Tuple<int , int , int , int , int , int , int>(22, 334, 54, 65, 76, 87, 98);
  
         Console.WriteLine( "Element 1: " + My_Tuple.Item1);
         Console.WriteLine( "Element 2: " + My_Tuple.Item2);
         Console.WriteLine( "Element 3: " + My_Tuple.Item3);
         Console.WriteLine( "Element 4: " + My_Tuple.Item4);
         Console.WriteLine( "Element 5: " + My_Tuple.Item5);
         Console.WriteLine( "Element 6: " + My_Tuple.Item6);
         Console.WriteLine( "Element 7: " + My_Tuple.Item7);
     }
}

输出如下:

Element 1: 22
Element 2: 334
Element 3: 54
Element 4: 65
Element 5: 76
Element 6: 87
Element 7: 98

方法

方法 描述
Create<T1>(T1) 创建一个新的1元组或单例。
Create<T1, T2>(T1, T2) 创建一个新的2元组或对。
Create<T1, T2, T3>(T1, T2, T3) 创建一个新的三元组或三元组。
Create<T1, T2, T3, T4>(T1, T2, T3, T4) 创建一个新的四元组或四元组。
Create<T1, T2, T3, T4, T5>(T1, T2, T3, T4, T5) 创建一个新的5元组或5元组。
Create<T1, T2, T3, T4, T5, T6>(T1, T2, T3, T4, T5, T6) 创建一个新的六元组或六元组。
Create<T1, T2, T3, T4, T5, T6, T7>(T1, T2, T3, T4, T5, T6, T7) 创建一个新的7元组或septuple。
Create<T1, T2, T3, T4, T5, T6, T7, TRest>(T1, T2, T3, T4, T5, T6, T7, T8) 创建一个新的8元组或八元组。

例子:

//C# program to create 3-tuple 
//using create method
using System;
  
class GFG {
  
     //Main method
     static public void Main()
     {
  
         //Creating tuple with three elements
         //Using Create method
         var My_Tuple = Tuple.Create( "Geeks" , 2323, 'g' );
  
         Console.WriteLine( "Element 1: " + My_Tuple.Item1);
         Console.WriteLine( "Element 2: " + My_Tuple.Item2);
         Console.WriteLine( "Element 3: " + My_Tuple.Item3);
     }
}

输出如下:

Element 1: Geeks
Element 2: 2323
Element 3: g

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.tuple?view=netframework-4.8#definition

木子山

发表评论

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