ранее, есть такой метод для Rectangle в MFC, я не знаю, почему нет для версии С#.
Почему нет метода Center() для класса Rectangle в С#?
Ответ 1
Предположительно, это не было сочтено полезным, чтобы заслужить включение.
Вы можете легко добавить его как метод расширения, если хотите (и если вы используете С# 3):
public static Point Center(this Rectangle rect)
{
return new Point(rect.Left + rect.Width/2,
rect.Top + rect.Height / 2);
}
Обратите внимание, что поскольку значения выражаются как целые числа, вы можете легко получить неточное значение, предполагая, что хотите вернуть Point
, а не другую структуру, используя decimal
или double
.
Вышеупомянутое действительно для структуры System.Drawing.Rectangle
. Если вы говорите о другом прямоугольнике, добавьте соответствующую информацию, и я отредактирую свой ответ.
Ответ 2
Он существует внутри (больше не поддерживается) Microsoft.XNA.Framework.
myRectangle.Center
возвращает a Point