Tuple<'T1, 'T2> Class
Represents a 2-tuple, or pair.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | Tuple<'T1, 'T2>('T1, 'T2) | Initializes a new instance of the Tuple<'T1, 'T2> class. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Returns a value that indicates whether the current Tuple<'T1, 'T2> object is equal to a specified object.(Overrides Object.Equals(Object).) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Returns the hash code for the current Tuple<'T1, 'T2> object.(Overrides Object.GetHashCode().) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the value of this Tuple<'T1, 'T2> instance.(Overrides Object.ToString().) |
| Name | Description | |
|---|---|---|
![]() ![]() | IStructuralComparable.CompareTo(Object, IComparer) | Compares the current Tuple<'T1, 'T2> object to a specified object by using a specified comparer, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. |
![]() ![]() | IStructuralEquatable.Equals(Object, IEqualityComparer) | Returns a value that indicates whether the current Tuple<'T1, 'T2> object is equal to a specified object based on a specified comparison method. |
![]() ![]() | IStructuralEquatable.GetHashCode(IEqualityComparer) | Calculates the hash code for the current Tuple<'T1, 'T2> object by using a specified computation method. |
![]() ![]() | IComparable.CompareTo(Object) | Compares the current Tuple<'T1, 'T2> object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order. |
A tuple is a data structure that has a specific number and sequence of values. The Tuple<'T1, 'T2> class represents a 2-tuple, or pair, which is a tuple that has two components. A 2-tuple is similar to a KeyValuePair<'TKey, 'TValue> structure.
You can instantiate a Tuple<'T1, 'T2> object by calling either the Tuple<'T1, 'T2> constructor or the static Tuple.Create<'T1, 'T2>('T1, 'T2) method. You can retrieve the values of the tuple's components by using the read-only Item1 and Item2 instance properties.
Tuples are commonly used in four different ways:
To represent a single set of data. For example, a tuple can represent a record in a database, and its components can represent that record's fields.
To provide easy access to, and manipulation of, a data set. The following example defines an array of Tuple<'T1, 'T2> objects that contain the names of students and their corresponding test scores. It then iterates the array to calculate the mean test score.
To return multiple values from a method without the use of out parameters (in C#) or ByRef parameters (in Visual Basic). For example, the following example uses a Tuple<'T1, 'T2> object to return the quotient and the remainder that result from integer division.
To pass multiple values to a method through a single parameter. For example, the Thread.Start(Object) method has a single parameter that lets you supply one value to the method that the thread executes at startup. If you supply a Tuple<'T1, 'T2> object as the method argument, you can supply the thread’s startup routine with two items of data.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.




