在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