如何轻松克隆(复制)C#中的RectangleF
?如何克隆RectangleF
有很明显的不好办法,比如new RectangleF(r.Location, r.size)
,但肯定有.Copy
或.Clone
方法隐藏在某处?但是这些编译对我来说都没有,似乎也没有复制构造函数。我怀疑有一些简单的,C#标准的复制任何结构的方法,我还没找到。
万一它很重要,我真正的目标是做一个方法,返回一个矩形的偏移版本(因为,令人惊讶的是,RectangleF
没有这样的内置 - 它只有一个增变器方法)。在此我最好的刺是:
public static RectangleF Offset(RectangleF r, PointF offset) {
PointF oldLoc = r.Location;
return new RectangleF(new PointF(oldLoc.X+offset.X, oldLoc.Y+offset.Y), r.Size);
}
(产地丑陋比它应该是惊人的缺乏PointF
加法运算符的,但这是另外一个问题。)是否有一个更简单的方法来做到这一点?
谢谢(谢谢@ jdv-Jan de Vaan)。我知道我必须错过一些明显的东西! “新”运算符的使用让我想到我正在处理引用,但现在我发现在C#中这不是真的。 – 2013-04-06 14:49:49