# 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

Boolean

`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)