[英]Properly implementing IComparable<T> on a Struct in C# 8 with Nullable set to enable
[英]C# Generics: What does IComparable<Nullable<T>> mean?
在以下代碼塊中:
public struct Nullable<T> : IFormattable, IComparable, INullable,
IComparable<Nullable<T>>
{
// ...
}
我知道這個結構正在實現這些接口,但我沒有得到IComparable<Nullable<T>>
部分。 這是什么意思?
這意味着您可以以強類型的方式將任何Nullable<T>
與Nullable<T>
<T> 的另一個實例(對於相同的T
)進行比較。 它將有一個這樣的方法:
public int CompareTo(Nullable<T> other)
請注意,普通的Nullable<T>
結構沒有任何這些接口。 就我個人而言,我認為讓另一個Nullable<T>
結構在這個地方亂跑會有點令人困惑......我建議如果你有能力這樣做,你可以將此結構重命名為其他東西。 使用where T: struct
約束T
不受約束也很奇怪...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.