# Rect.EqualsRect.EqualsRect.EqualsRect.Equals Method

## Definition

Indicates whether two rectangles are equal.

 Equals(Rect, Rect) Equals(Rect, Rect) Equals(Rect, Rect) Equals(Rect, Rect) Indicates whether the specified rectangles are equal. Equals(Object) Equals(Object) Equals(Object) Equals(Object) Indicates whether the specified object is equal to the current rectangle. Equals(Rect) Equals(Rect) Equals(Rect) Equals(Rect) Indicates whether the specified rectangle is equal to the current rectangle.

## Equals(Rect, Rect)Equals(Rect, Rect)Equals(Rect, Rect)Equals(Rect, Rect)

Indicates whether the specified rectangles are equal.

``````public:
static bool Equals(System::Windows::Rect rect1, System::Windows::Rect rect2);``````
``public static bool Equals (System.Windows.Rect rect1, System.Windows.Rect rect2);``
``static member Equals : System.Windows.Rect * System.Windows.Rect -> bool``
``Public Shared Function Equals (rect1 As Rect, rect2 As Rect) As Boolean``

#### Parameters

rect1
Rect Rect Rect Rect

The first rectangle to compare.

rect2
Rect Rect Rect 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 Equals(Rect, Rect) method to determine if one rectangle is equal to another.

``````private bool rectEqualsExample2()
{
// Create a rectangle.
Rect myRectangle1 = new Rect();

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

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

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

// Using the Equals method, see if the second rectangle is
// the same as the first rectangle. doesEqual is true because
// both rectangles are exactly the same in that they both have the
// same location and size.
bool doesEqual = Rect.Equals(myRectangle1, myRectangle2);

return doesEqual;

}
``````

### 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.

## Equals(Object)Equals(Object)Equals(Object)Equals(Object)

Indicates whether the specified object is equal to the current rectangle.

``````public:
override bool Equals(System::Object ^ o);``````
``public override bool Equals (object o);``
``override this.Equals : obj -> bool``
``Public Overrides Function Equals (o As Object) As Boolean``

#### Parameters

o
Object Object Object Object

The object to compare to the current rectangle.

#### Returns

`true` if `o` is a Rect and has the same Location and Size values as the current rectangle; otherwise, `false`.

### Examples

The following example shows how to use the Equals(Object) method to determine if a rectangle is equal to a specified object.

``````private bool rectEqualsExample1()
{
// Create a rectangle.
Rect myRectangle1 = new Rect();

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

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

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

// Using the Equals method, see if the second rectangle is the
// same as the first rectangle. doesEqual is true because both
// rectangles are exactly the same with respect to location and size.
bool doesEqual = myRectangle1.Equals(myRectangle2);

return doesEqual;

}
``````

### 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.

## Equals(Rect)Equals(Rect)Equals(Rect)Equals(Rect)

Indicates whether the specified rectangle is equal to the current rectangle.

``````public:
bool Equals(System::Windows::Rect value);``````
``public bool Equals (System.Windows.Rect value);``
``override this.Equals : System.Windows.Rect -> bool``
``Public Function Equals (value As Rect) As Boolean``

#### Parameters

value
Rect Rect Rect Rect

The rectangle to compare to the current rectangle.

#### Returns

`true` if the specified rectangle has the same Location and Size values as the current rectangle; otherwise, `false`.

### Examples

The following example shows how to use the Equals(Rect) method to determine if a rectangle is equal to a specified rectangle.

``````private bool rectEqualsExample1()
{
// Create a rectangle.
Rect myRectangle1 = new Rect();

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

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

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

// Using the Equals method, see if the second rectangle is the
// same as the first rectangle. doesEqual is true because both
// rectangles are exactly the same with respect to location and size.
bool doesEqual = myRectangle1.Equals(myRectangle2);

return doesEqual;

}
``````

### 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.