GDI +区域的平等

时间:2014-01-09 04:37:29

标签: c# .net graphics gdi+ gdi

为什么断言在以下代码中失败?为什么地区ab不相等?

  Region a = new Region(new RectangleF(0.0f, 0.0f, 10.0f, 10.0f));
  Region b = new Region();
  b.MakeEmpty();
  b.Union(new RectangleF(0.0f, 0.0f, 10.0f, 10.0f));
  Debug.Assert(a == b, "Regions not equal");

1 个答案:

答案 0 :(得分:2)

从我所看到的情况来看,System.Drawing.Region并未覆盖Object Equals()的实施。因此,==来电正在使用ReferenceEquals,只是告诉您ab不是同一个对象。

尝试使用System.Drawing.Region.Equals(Region, Graphics)重载,在您希望比较两个区域的上下文中传入Graphics对象。