クラスを直接使用するのではなく、インターフェイスを介してクラスを使用することの意味は何ですか?
たとえば、クラスを直接IList<Int32>
使用するのではなく、インターフェイスを介して整数のリストを変更する場合です。List<Int32>
これにより、ボクシング変換、より多くの型チェック、nullチェック、より多くのレベルの間接参照、仮想呼び出し、最適化の削減、メソッドのインライン化の防止が導入されますか?もしそうなら、どうすればその一部を軽減できますか?
私は、すべてのコレクションクラスがそれらのインターフェイスを介して使用されることを意図したライブラリを作成しています。このライブラリは、高性能な設定で使用したい他の開発者向けです。