C#中的ValueTuple结构介绍

  • 方法
目录在C#中, ValueTuple结构提供了用于创建的静态方法价值元组。它在下定义系统命名空间。引入.NET Framework 4.7在C#中提供了运行时实现元组。 ValueTuple结构用于表示不包含任何元素的元组。通常, 它提供用于创建或比较值元组的静态方法。借助ValueTuple结构的Create方法, 你可以创建一个值元组, 其中包含从0到8的元素。它在以下方面与Tuple类不同:
  • 它是值类型而不是引用类型。
  • 它是可变的, 而不是只读的。
  • 在ValueTuple中, 项目1, item2, 项目3, 等等。数据成员是字段而不是属性。
该结构实现结构可比, 结构平等, 可比, IComparable < ValueTuple> , IEquatable < ValueTuple> 和ITuple接口。
方法
方法 描述
CompareTo(ValueTuple) 将当前的ValueTuple实例与指定的ValueTuple实例进行比较。
创造() 创建一个零值的新值元组。
创建< T1, T2, T3, T4, T5, T6, T7, T8> (T1, T2, T3, T4, T5, T6, T7, T8) 创建一个具有8个组成部分(八进制)的新值元组。
创建< T1, T2, T3, T4, T5, T6, T7> (T1, T2, T3, T4, T5, T6, T7) 创建一个具有7个组成部分的新值元组。
创建< T1, T2, T3, T4, T5, T6> (T1, T2, T3, T4, T5, T6) 创建一个具有6个组件(六联)的新值元组。
创建< T1, T2, T3, T4, T5> (T1, T2, T3, T4, T5) 创建一个具有5个组成部分的新值元组(一个五元组)。
创建< T1, T2, T3, T4> (T1, T2, T3, T4) 创建一个具有4个组成部分(四重)的新值元组。
创建< T1, T2, T3> (T1, T2, T3) 创建一个具有3个组成部分(三重组成)的新值元组。
创建< T1, T2> (T1, T2) 创建一个具有两个组件(一对)的新值元组。
创建< T1> (T1) 创建一个具有1个组件(单例)的新值元组。
等于(ValueTuple) 确定两个ValueTuple实例是否相等。此方法始终返回true。
等于(对象) 返回一个值, 该值指示当前ValueTuple实例是否等于指定的对象。
GetHashCode() 返回当前ValueTuple实例的哈希码。
ToString() 返回此ValueTuple实例的字符串表示形式。
【C#中的ValueTuple结构介绍】例子:
// C# program to illustrate the // methods of ValueTuple struct using System; class GFG {// Main method static public void Main() {// Creating a value tuple with // zero element using Create method var MyTple1 = ValueTuple.Create(); // Using GetHashCode method Console.WriteLine( "HashCode of a value tuple with " + "zero elements: " + MyTple1.GetHashCode()); // Creating a value tuple var MyTple2 = ValueTuple.Create(56, 3); var MyTple3 = ValueTuple.Create(56, 45); // Using CompareTo method int res1 = MyTple2.CompareTo(MyTple3); // Display result Console.WriteLine( "CompareTo Method Result: " + res1); } }

输出如下:
HashCode of a value tuple with zero elements: 0CompareTo Method Result: -1

参考:
  • https://docs.microsoft.com/en-us/dotnet/api/system.valuetuple?view=netframework-4.8

    推荐阅读