System.ValueTuple
public struct ValueTuple : IEquatable<ValueTuple>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple>, ITupleInternal
The ValueTuple types (from arity 0 to 8) comprise the runtime implementation that underlies tuples in C# and struct tuples in F#.
Aside from created via language syntax, they are most easily created via the ValueTuple.Create factory methods.
The System.ValueTuple types differ from the System.Tuple types in that:
- they are structs rather than classes,
- they are mutable rather than readonly, and
- their members (such as Item1, Item2, etc) are fields rather than properties.
namespace System
{
public struct ValueTuple : IEquatable<ValueTuple>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple>, System.ITupleInternal
{
public bool Equals(ValueTuple other);
public int CompareTo(ValueTuple other);
public static ValueTuple Create();
public static ValueTuple<T1> Create<T1>(T1 item1);
public static (T1, T2) Create<T1, T2>(T1 item1, T2 item2);
public static (T1, T2, T3) Create<T1, T2, T3>(T1 item1, T2 item2, T3 item3);
public static (T1, T2, T3, T4) Create<T1, T2, T3, T4>(T1 item1, T2 item2, T3 item3, T4 item4);
public static (T1, T2, T3, T4, T5) Create<T1, T2, T3, T4, T5>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5);
public static (T1, T2, T3, T4, T5, T6) Create<T1, T2, T3, T4, T5, T6>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6);
public static (T1, T2, T3, T4, T5, T6, T7) Create<T1, T2, T3, T4, T5, T6, T7>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7);
public static (T1, T2, T3, T4, T5, T6, T7, T8) Create<T1, T2, T3, T4, T5, T6, T7, T8>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8);
}
}