.NETFxに3つの便利なインターフェイスがあることがわかりました。
そして、なぜHashSet<T>
実装しないのか少し混乱していますIReadOnlyCollection<T>
か?何か理由がありますか、それともマイクロソフトはセットをもう一度忘れましたか?
UPD
2時間のグーグルの後、BCLには、プロパティはあるがインターフェイス.Count
を実装していないコレクションが多数あることがわかりました。IReadOnlyCollection<T>
UPD2
この投稿http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b4fb991a-3f5c-4923-93d4-7cd5c004f859と、ImmoLandwerthによる回答を見つけました。
List<>とDictionary<>以外の他のコレクションは、これらのインターフェイスをサポートするように更新されますか?
絶対。実際、組み込みのコレクションタイプはすべて、すでにIReadOnlyList<>とIReadOnlyDictionary<>を実装しています。つまり、List、T []、またはDictionary <>のインスタンスを、そのIReadOnlyバージョンを取得するAPIに直接渡すことができます。