为什么数组支持IList?

6 c# arrays ilist

IList接口需要Add方法.数组实现此函数,但它只是抛出一个NotImplementedException.这对我来说似乎是非常糟糕的设计.

设计师在做这件事时有什么想法?

Joe*_*Joe 7

IList可以是只读的 - 如果有疑问,调用者可以在尝试添加或删除元素之前测试IsFixedSize属性,或者在尝试修改元素之前测试IsReadOnly属性.

数组是固定大小的IList.

能够将数组视为列表是很方便的.一个例子是模拟一个返回IList的数据访问方法 - 它可以被模拟为简单地返回一个作为IList的数组.