dot*_*NET 14 .net c# system.drawing colors
这个C#,VS2010和.NET 4.0.我想比较两个System.Drawing.Color对象.
价值mStartColor.ToArgb()是16777215.
价值Color.Transparent.ToArgb()是16777215.
价值mStartColor <> Color.Transparent是True.
如何为Color对象实现平等?
感谢大家.我得到了答案,虽然这对我没有多大意义(请参阅我对蒂姆和戴夫下面的答案的评论).我将蒂姆的帖子标记为答案,他是第一个回答,但戴夫的回答同样有用.
Dav*_*ish 14
颜色结构包含更多数据,而不仅仅是实际的颜色信息,例如
Color [Transparent]
R: 255
G: 255
B: 255
A: 0
IsKnownColor: True
IsEmpty: False
IsNamedColor: True
IsSystemColor: False
Name: Transparent
Run Code Online (Sandbox Code Playgroud)
Color.FromArgb(16777215)
Color [A=0, R=255, G=255, B=255]
R: 255
G: 255
B: 255
A: 0
IsKnownColor: False
IsEmpty: False
IsNamedColor: False
IsSystemColor: False
Name: ffffff
Run Code Online (Sandbox Code Playgroud)
等于比较将使用所有这些来确定平等.你应该是你已经建议的,并使用:
Color.Transparent.ToArgb().Equals(mStartColor.ToArgb())
Run Code Online (Sandbox Code Playgroud)