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.




