gpt4 book ai didi

c# - 实现 IComparable

转载 作者:太空狗 更新时间:2023-10-29 21:20:20 25 4
gpt4 key购买 nike

这可能是一个微不足道的问题,但我没有找到任何相关信息:制作 T 型工具是否“有害”或被视为不良做法 IComparable<S> (T 和 S 是两种不同的类型)?

例子:

class Foo : IComparable<int>
{
public int CompareTo(int other)
{
if (other < i) return -1;
if (other > i) return 1;

return 0;
}

private int i;
}

是否应该避免这种代码,如果是,为什么?

最佳答案

我至少会认为它“奇怪”——特别是在那个时候比较不会是对称的,这通常是正常比较契约(Contract)的一部分。

如果在某种特定情况下,它比您想要做的任何其他实现都简单,那也没关系 - 但我不能说我曾经遇到过这种情况。像这样的比较几乎总是用于对同类集合或类似的东西进行排序。

您是否考虑过特定​​情况,或者这只是一个“兴趣”问题?

关于c# - 实现 IComparable<NotSelf>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2539500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com