แก้ไข

แชร์ผ่าน


Rect.Equality(Rect, Rect) Operator

Definition

Compares two rectangles for exact equality.

public:
 static bool operator ==(System::Windows::Rect rect1, System::Windows::Rect rect2);
public static bool operator == (System.Windows.Rect rect1, System.Windows.Rect rect2);
static member ( = ) : System.Windows.Rect * System.Windows.Rect -> bool
Public Shared Operator == (rect1 As Rect, rect2 As Rect) As Boolean

Parameters

rect1
Rect

The first rectangle to compare.

rect2
Rect

The second rectangle to compare.

Returns

true if the rectangles have the same Location and Size values; otherwise, false.

Examples

The following example shows how to use the Equality operator to determine if two rectangles are exactly equal.

private Boolean overloadedEqualityOperatorExample()
{
    // Initialize new rectangle.
    Rect myRectangle = new Rect();

    // The Location property specifies the coordinates of the upper left-hand 
    // corner of the rectangle. 
    myRectangle.Location = new Point(10, 5);

    // Set the Size property of the rectangle with a width of 200
    // and a height of 50.
    myRectangle.Size = new Size(200, 50);

    // Create second rectangle to compare to the first.
    Rect myRectangle2 = new Rect();
    myRectangle2.Location = new Point(0, 0);
    myRectangle2.Size = new Size(200, 50);

    // Check if the two Rects are exactly equal using the overloaded equality operator.
    // areEqual is false because although the size of each rectangle is the same,
    // the locations are different.
    bool areEqual = (myRectangle == myRectangle2);

    // Returns false.
    return areEqual;
}
Private Function overloadedEqualityOperatorExample() As Boolean
    ' Initialize new rectangle.
    Dim myRectangle As New Rect()

    ' The Location property specifies the coordinates of the upper left-hand 
    ' corner of the rectangle. 
    myRectangle.Location = New Point(10, 5)

    ' Set the Size property of the rectangle with a width of 200
    ' and a height of 50.
    myRectangle.Size = New Size(200, 50)

    ' Create second rectangle to compare to the first.
    Dim myRectangle2 As New Rect()
    myRectangle2.Location = New Point(0, 0)
    myRectangle2.Size = New Size(200, 50)

    ' Check if the two Rects are exactly equal using the overloaded equality operator.
    ' areEqual is false because although the size of each rectangle is the same,
    ' the locations are different.
    Dim areEqual As Boolean = (myRectangle = myRectangle2)

    ' Returns false.
    Return areEqual

End Function

Remarks

This operation tests for object equality.

In this comparison, two instances of Double.NaN are considered equal.

Note

A rectangle's position and dimensions are described by Double values. Because Double values can lose precision when operated upon, a comparison between two values that are logically equal might fail.

The equivalent method for this operator is Rect.Equals(Rect, Rect)

Applies to