インターフェイスには、、、などのプロパティIList<T>
でサポートされていない操作に加えて、インデックスによるアクセスが含まれます。SortedList<TKey, TValue>.Keys
Add
Remove
Insert
のReadOnlyCollection<T>
戻り値などのList<T>.AsReadOnly
は実装されIList<T>
ているため、インデックスによるアクセスを提供しますが、 などの不正な操作をAdd
明示的に実装することで隠します。さらに、これは基になるリストの単なるラッパーです。そのため、コピーは作成されないため、実際のパフォーマンスに影響を与えることはありません (私はそう思います)。
なぜSortedList<TKey, TValue.Keys
ではないのReadOnlyCollection<TKey>
ですか?(さらに言えば、Values
プロパティが ではないのはなぜReadOnlyColllection<TValue>
ですか?)