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