C# · 12月 26, 2021

c# – 空参数的可扩展行为

我正在实施IComparable和IComprable< T>在我的一个课程有没有关于在给定一个空参数时每种情况下CompareTo方法应该如何表现的建议?应该返回一个正数还是抛出一个ArgumentNullException?或者这个行为会因执行类而有所不同吗?

我看到了MSDN文档(here和@L_301_1@),但对此没有任何意见.任何帮助将不胜感激.@H_403_3@解决方法 IComparable.CompareTo()和 IComparable<T>.CompareTo()的两个MSDN引用如下:

By deFinition,any object compares greater than (or follows) Nothing,and two null references compare equal to each other.@H_403_3@

没有任何VB对应于C#中的null.@H_403_3@

注意前一段说:@H_403_3@

The meaning of the comparisons,“less than,” “equal to,” and “greater than,” depends on the particular implementation.@H_403_3@

但是,不是null的实例引用始终大于null引用,无论你如何比较类的实例.@H_403_3@