System.Arrayクラスの定義を参照してください public abstract class Array : IList, ... 理論的には、このビットを書いて幸せになれるはずです int[] list = new int[] {}; IList iList = (IList)list; また、iListから任意のメソッドを呼び出すことができるはずです。 ilist.Add(1); //exception here 私の質問は、なぜ例外が発生するのかではなく、なぜArrayがIListを実装するのかです。