8

...または、問題なく ICollection を使用できますか?

つまり、ICollection がソートされたコレクション用に設計されたとは思いません。ソート済みまたはサートされていない ICollection オブジェクト用に設計されたアプリケーションが壊れる可能性があるためですが、わかりません。

4

2 に答える 2

11

ICollection<T> インターフェイスは、並べ替えられたコレクション型による実装に適していると言えます。並べ替えられたコレクションは、その内容を列挙、追加、削除、クリア、およびチェックできるためです。

反例として、IList<T> インターフェイス はおそらく適切ではありません。ICollection<T> とは異なり、コレクションが特定の位置に要素を追加できるリストであると想定しているためです。それ自体が各要素の位置を決定します。

.NET Framework の並べ替えられたコレクション型 ( SortedList<TKey, TValue> ClassSortedDictionary<TKey, TValue> Class、およびSortedSet<T> Class ) はすべて ICollection<T> を実装しますが、IList<T> は実装しません。

于 2012-10-29T23:41:13.563 に答える