Tuple<T1, T2> Class
Represents a 2-tuple, or pair.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
The Tuple<T1, T2> type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Equals | 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 the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Returns the hash code for the current Tuple<T1, T2> object. (Overrides Object::GetHashCode().) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the value of this Tuple<T1, T2> instance. (Overrides Object::ToString().) |
| Name | Description | |
|---|---|---|
![]() ![]() | IComparable::CompareTo | 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. |
![]() ![]() | IStructuralComparable::CompareTo | 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 | 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 | Calculates the hash code for the current Tuple<T1, T2> object by using a specified computation method. |
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.
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
