ValueTuple 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供用于创建值元组的静态方法。
public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type ValueTuple = struct
interface ITuple
type ValueTuple = struct
[<System.Serializable>]
type ValueTuple = struct
interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable
- 继承
- 属性
- 实现
注解
元组是具有特定数目和元素序列的数据结构。 元组的一个示例是一个数据结构,其中三个元素 (称为三元组或三个) ,用于存储标识符(如第一个元素中的人的姓名),第二个元素中的年份,第三个元素中的人的收入。
值元组是在 .NET Framework 4.7 中引入的元组类型,用于在 C# 中提供元组的运行时实现,以及 F# 中的结构元组。 它们不同于元组类,例如Tuple<T1>Tuple<T1,T2>,等等,如下所示:
它们是) (值类型的结构,而不是) (引用类型的类。
它们是可变的,而不是只读的。 也就是说,元组组件的值可能会更改。
其数据成员(例如
Item1
,Item2
等)是字段而不是属性。
结构 ValueTuple 表示没有元素的元组。 它主要用于其静态方法,可用于创建和比较值元组类型的实例。 借助其帮助程序方法,可以实例化值元组,而无需显式指定每个值元组组件的类型。 通过调用其静态 Create 方法,可以创建从零到八个组件的值元组。 对于具有 8 个以上的组件的值元组,必须调用 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 构造函数。
序列化和值元组
类型ValueTuple在 .NET Core 1.x 或 .NET Framework 4.7 及更低版本中不可序列化。 此外,.NET Standard(包括 .NET Standard 2.0)不强制序列化 ValueTuple 实例;实例是否 ValueTuple 可序列化取决于单个 .NET Standard 实现。 若要确定类型 ValueTuple 是否在特定 .NET 实现上可序列化,请获取一个 Type 对象,该对象表示该 ValueTuple 类型并检索其 IsSerializable 属性的值。 有关 .NET Core 和.NET Framework中可序列化类型的列表,请参阅二进制序列化。
方法
CompareTo(ValueTuple) |
将当前 ValueTuple 实例与指定的 ValueTuple 实例进行比较。 |
Create() |
创建无组件的新值元组。 |
Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) |
创建含有 8 个组件的新值元组(八元组)。 |
Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) |
创建含有 7 个组件的新值元组(七元组)。 |
Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) |
创建含有 6 个组件的新值元组(六元组)。 |
Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) |
创建含有 5 个组件的新值元组(五元组)。 |
Create<T1,T2,T3,T4>(T1, T2, T3, T4) |
创建含有 4 个组件的新值元组(四元组)。 |
Create<T1,T2,T3>(T1, T2, T3) |
创建含有 3 个组件的新值元组(三元组)。 |
Create<T1,T2>(T1, T2) |
创建含有 2 个组件的新值元组(二元组)。 |
Create<T1>(T1) |
创建含有 1 个组件的新值元组(一元组)。 |
Equals(Object) |
返回一个值,该值指示当前 ValueTuple 实例是否与指定的对象相等。 |
Equals(ValueTuple) |
确定两个 ValueTuple 实例是否相等。 此方法始终返回 |
GetHashCode() |
返回当前 ValueTuple 实例的哈希代码。 |
ToString() |
返回此 ValueTuple 实例的字符串表示形式。 |
显式接口实现
IComparable.CompareTo(Object) |
将此 ValueTuple 实例与指定对象进行比较并返回一个对二者的相对值的指示。 |
IStructuralComparable.CompareTo(Object, IComparer) |
将当前 ValueTuple 实例与指定的对象进行比较。 |
IStructuralEquatable.Equals(Object, IEqualityComparer) |
返回一个值,该值指示基于指定的比较方法,当前 ValueTuple 实例是否与指定的对象相等。 |
IStructuralEquatable.GetHashCode(IEqualityComparer) |
返回此 ValueTuple 实例的哈希代码。 |
ITuple.Item[Int32] |
返回 IndexOutOfRangeException。 |
ITuple.Length |
获取此 |