This documentation is archived and is not being maintained.

Triplet Class

Provides a basic utility class that is used to store three related objects.


Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

public sealed class Triplet

The Triplet type exposes the following members.

Public methodTriplet()Initializes a new instance of the Triplet class.
Public methodTriplet(Object, Object)Initializes a new instance of the Triplet class and sets the first two objects.
Public methodTriplet(Object, Object, Object)Initializes a new instance of the Triplet class with the provided three objects.

Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public fieldFirstGets or sets the first object of the triplet.
Public fieldSecondGets or sets the second object of the triplet.
Public fieldThirdGets or sets the third object of the triplet.

The Triplet class is used as a basic structure to store three related objects. It is a utility class that is used in various ways throughout ASP.NET. You can use the Triplet class in your own code anywhere that you need a structure to contain three related objects and where data-hiding is not essential. The Triplet class does not encapsulate its object references, First, Second, and Third, in properties; it exposes them directly to all calling code as public class fields.

The following example uses a Triplet object to hold three integer values and another Triplet to hold three label controls.


When accessing reference types as members of a Triplet, only generic Object methods are available for that member.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
        Triplet circle = new Triplet(5, 7, 3);
        lblCircle.Text = "X position: " + circle.First +
            "<br />Y position: " + circle.Second +
            "<br />Radius: " + circle.Third;

        Triplet labels = new Triplet(Label1, Label2, Label3);
        Label1.Text = "Type: " + labels.First.GetType().ToString();
        Label2.Text = "ToString: " + labels.Second.ToString();
        Label3.Text = "HashCode: " + labels.Third.GetHashCode();

<html xmlns="" >
<head runat="server">
    <title>Triplet Example</title>
    <form id="form1" runat="server">
        <h3>Circle Dimensions</h3>
        <asp:Label ID="lblCircle" runat="server" /><br /><br />
        <h3>Labels Within a Triplet</h3>
        Note that only object methods are available to members of a triplet regardless of type.<br />
        <asp:Label ID="Label1" runat="server" /><br />
        <asp:Label ID="Label2" runat="server" /><br />
        <asp:Label ID="Label3" runat="server" /></div>

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.