Array implements the IsReadOnly property because it is required by the System.Collections::IList interface. An array that is read-only does not allow the addition, removal, or modification of elements after the array is created.
If you cast or convert an array to an IList interface object, the IList::IsReadOnly property returns false. However, if you cast or convert an array to a IList<T> interface, the IsReadOnly property returns true.
Retrieving the value of this property is an O(1) operation.