<PackageReference Include="System.ValueTuple" Version="4.5.0-preview2-26406-04" />

System.ValueTuple

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); } }