c# – “is”关键字和Equals方法的覆盖
发布时间:2020-12-15 08:01:28 所属栏目:百科 来源:网络整理
导读:documentation for the keyword “is”指出: The is operator only considers reference conversions,boxing conversions,and unboxing conversions. Other conversions,such as user-defined conversions,are not considered. 在实践中意味着什么? 用它来
documentation for the keyword “is”指出:
在实践中意味着什么? public struct Point2D { public int X; public int Y; ... public override bool Equals(Object value) { if (value != null && value is Point2D) // or if (value != null && GetType() == value.GetType()) { Point2D right = (Point2D)value; return (X == right.X && Y == right.Y); } else return false; } ... } 解决方法
检查结构是否是某种类型是可以的.文档意味着在考虑给定对象是否具有指定类型时,不评估用户定义的
explicit和
implicit转换运算符,即使存在可以将其转换为所述类型的用户定义的运算符.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |