【发布时间】:2011-04-04 15:09:45
【问题描述】:
我想知道如何比较两个对象的不同值。我需要研究什么才能做到这一点?它是一个比较器,如果是的话,有人可以指点我一个好的教程吗?
例如,我想查看 2 个表单是否因内容而异(2 个联系人详细信息表单具有 2 组不同的联系数据,两者具有相同的 getType().Name 但具有不同的内容。)
谢谢
【问题讨论】:
标签: c# equality comparator
我想知道如何比较两个对象的不同值。我需要研究什么才能做到这一点?它是一个比较器,如果是的话,有人可以指点我一个好的教程吗?
例如,我想查看 2 个表单是否因内容而异(2 个联系人详细信息表单具有 2 组不同的联系数据,两者具有相同的 getType().Name 但具有不同的内容。)
谢谢
【问题讨论】:
标签: c# equality comparator
如果您想测试平等,那么要走的路是让SomeType 实现IEquatable<SomeType> 并在Equals 方法中进行比较(这就是您要调用的方法显然,测试是否相等)。
如果要对值进行排序,那么对应的接口就是IComparable<T>。
如果你点击链接,会有代码示例。
【讨论】:
您可以实现IComparable 接口以允许在两个对象之间进行比较。 Documentation here.
【讨论】:
您可以在两种表单上都使用 IComparable。
http://msdn.microsoft.com/en-us/library/system.icomparable.aspx
这将让您设置这些类的比较方式。
【讨论】: