我正在尝试弄清楚我需要实现哪个接口,它们基本上都做同样的事情。在什么情况下我会选择使用其中一个而不是另一个?
我该如何比较泛型类型的值? 我已将其简化为最小示例: public class Foo<T> where T : IComparable { private T _minimumValue = default(T); public bool IsInRange...
我正在用一个类的实例来填充一个数组: BankAccount[] a; . . . a = new BankAccount[] { new BankAccount("George Smith", 500m), new BankAccount("Sid Zimmerman",...
我注意到在 .NET 4 中添加了这两个接口,以及一些相关的类。它们对我来说似乎有点多余;我读了几篇博客,但仍然无法弄清楚它们解决的问题在 .NET 4 之前是棘手的什么。 IStructuralEquatable 和 IStructuralComparable 有什么用处?
IComparable和IComparer接口之间有什么区别?在使用Array.Sort()方法时是否总是需要使用这个接口?
我应该同时实现IComparable和通用的IComparable<T>吗?如果我只实现其中一个是否有任何限制?
假设我有一种类型,实现了IComparable接口。 我认为如果我想使用运算符==、!=、>、=和B与Compare(A,B)>0的行为真正有用呢?
有没有人对于IEquatable<T>或者IComparable<T>是否应该要求T是sealed(如果它是一个class)有任何意见? 我之所以会想到这个问题,是因为我正在编写一组基类,旨在帮助实现不可变类的实现。其中一部分功能是自动实现相等比较(使用类的字段以及可...