为什么c#中的Rectangle类没有Center()方法?

时间:2009-09-09 08:47:06

标签: c#

以前,在MFC中有这样的矩形方法,我不知道为什么没有c#版本。

2 个答案:

答案 0 :(得分:30)

据推测,这并不值得包含。

如果您愿意,可以轻松地将其添加为扩展方法(如果您使用的是C#3):

public static Point Center(this Rectangle rect)
{
    return new Point(rect.Left + rect.Width/2,
                     rect.Top + rect.Height / 2);
}

请注意,由于值表示为整数,因此您可能很容易得到一个非精确值,假设您想要使用Point或{{1}返回decimal而不是其他结构}}

以上实际上是double struct 。如果您正在谈论不同的矩形,请添加相应的信息,我将编辑我的答案。

答案 1 :(得分:5)

它存在于(不再支持)Microsoft.XNA.Framework。

Rectangle.Center Property

myRectangle.Center返回Point