微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 我应该实现IEquatable,还是IComparable?

我有一个班这个课程的意思是说我们可以说这样的事情是相互平等的,我们也可以提出一个计划,以便比较起来.

然而,发生这样的事情,很少有人觉得需要对这些事情进行排名,但是经常需要检查两个这样的事情是否相等.

所以,我可以为我的课程和IComparable实现IEquatable.虽然IComparable提供了一些额外的功能,但是任何人都不太会关心这个额外的功能.无论是在逻辑上还是功能方面,似乎都没有明显的优势.

我应该实现哪个接口,IEquatable,IComparable或两者兼而有之?为什么? (我特别想知道框架范围内的任何接口)

This question是相似的,但答案只说明了,这对我没有帮助.

如果你想知道,这个课程是为了代表一个核苷酸.核苷酸可以容易地等同,但也可以比较(例如,按字母顺序).

解决方法

我一定会实现IEquatable< T>但是跳过IComparable / IComparable< T>目前.

正如你所说,没有一种比较核苷酸的方法.有人可能需要按字母顺序进行比较,有人可能需要另外一种方法对它们进行排序.我宁愿提供不同的IComparer<Nucleotide>实现来实现IComparable / IComparable< T>本身.

原文地址:https://www.jb51.cc/csharp/93864.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐