在C#中是否可能创建一个非固定大小的数组?

3

创建数组时,可以使用

string[] list = new string[5]; 

有一个名为IsFixedSize的变量。那么是否可能创建一个不固定大小的数组?我知道的唯一方法是使用List<string>

我很困惑,因为我认为数组是关于固定大小的,那么为什么会有list.IsFixedSize呢?


5
因为 IsFixedSize 属性是属于 IList 接口的一部分,而数组和 List<T> 都实现了该接口。 - itsme86
1
从技术上讲,当该属性被“发明”时,存在ArrayList(即List<>的非泛型版本)。但它不是一个数组... 它是今天我们所说的List<object> - xanatos
必读RTFM,特别是:"此属性对于所有数组始终为真。" - maccettura
@maccettura 对不起,我刚在VisualStudio中看到了简短的信息,以为不会得到更多的信息,下次在发布新问题之前我会尽量查找更多资料。 - Aaron H
1个回答

8
不,所有数组大小都是固定的。但是如果您阅读该属性的文档,就会解释为什么:
块引用:

属性值

类型:System.Boolean

对于所有数组,此属性始终为true。

并且:
块引用:

Array实现IsFixedSize属性,因为它是System.Collections.IList接口所必需的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接