为什么断言在以下代码中失败?为什么地区a
和b
不相等?
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");
答案 0 :(得分:2)
从我所看到的情况来看,System.Drawing.Region
并未覆盖Object
Equals()
的实施。因此,==
来电正在使用ReferenceEquals
,只是告诉您a
和b
不是同一个对象。
尝试使用System.Drawing.Region.Equals(Region, Graphics)
重载,在您希望比较两个区域的上下文中传入Graphics
对象。