配列がICollectionなどのインターフェイスを実装しているといっても、その機能のすべてがサポートされるわけではありません。 たとえば、配列をICollectionインターフェイスにキャストして操作することは可能ですが、ICollection.AddICollection.Removeなどのメソッドを呼び出して配列のサイズを変更するような操作を行うことはできません。 このような操作を行おうとした場合にはNotSupportedExceptionがスローされます。

ICollectionインターフェイスを介して配列ではサポートされないメソッドを呼び出す場合
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    int[] arr = {0, 1, 2, 3, 4};

    // 配列をICollection<T>インターフェイスにキャスト
    ICollection<int> coll = arr;

    // ICollectionインターフェイスを介して要素を追加しようとしても、
    // 配列は固定長であるためNotSupportedExceptionがスローされる
    coll.Add(5);
  }
}
実行結果
System.NotSupportedException: コレクションは固定サイズです。
   at System.SZArrayHelper.Add[T](T value)
   at Sample.Main(String[] args)

配列が実装するインターフェイスや他のコレクションとの特徴の違いについてはコレクションの種類と特徴 §.コレクションクラスの特徴を参照してください。

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。