C#泛型:IComparable <nullable <t>&gt;意思?</可空<T>

时间:2011-06-05 08:33:29

标签: c# .net generics

在以下代码块中:

public struct Nullable<T> : IFormattable, IComparable, INullable,
       IComparable<Nullable<T>>
{
       // ...
}

我知道这个结构正在实现这些接口,但我没有得到IComparable<Nullable<T>>部分。这意味着什么?

1 个答案:

答案 0 :(得分:4)

这意味着您可以使用强类型方式将任何Nullable<T>Nullable<T>的另一个实例(对于相同的T)进行比较。它将有一个这样的方法:

public int CompareTo(Nullable<T> other)

请注意,普通Nullable<T>结构没有任何这些接口。我个人认为让另一个 Nullable<T>结构在这个地方踢动会有点混乱...我建议如果你有能力这样做,你可以将这个结构重命名为某个东西其他。使用T约束来约束where T : struct也很奇怪......