【问题标题】:Is it possible to create a non-fixed size array in C#?是否可以在 C# 中创建非固定大小的数组?
【发布时间】:2018-06-20 20:50:35
【问题描述】:

当用 with 创建数组时

string[] list = new string[5]; 

有一个名为IsFixedSize 的变量。那么是否可以创建一个不固定大小的数组?我知道的唯一方法是使用List<string>。 我很困惑,因为我认为数组是关于固定大小,那么为什么会有list.IsFixedSize

【问题讨论】:

  • 因为IsFixedSize 属性是数组和List<T> 都实现的IList 接口的一部分。
  • 从技术上讲,当该属性被“发明”时,有ArrayList(即List<> 的非通用版本)。但它不是一个数组......这就是我们今天所说的 List<object>
  • 必填RTFM,具体为:"This property is always true for all arrays."
  • @maccettura 很抱歉,我刚刚在 VisualStudio 中看到了简短的信息,并认为我不会获得更多信息,我会在发布新问题之前尝试查找更多信息。

标签: c# arrays list fixed-size-types


【解决方案1】:

不,所有数组的大小都是固定的。但是,如果您阅读了该属性上的docs,它会解释原因:

资产价值

类型:System.Boolean

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

还有:

Array 实现了IsFixedSize 属性,因为System.Collections.IList 接口需要它

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 2021-01-07
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    相关资源
    最近更新 更多