Jon*_*eet 50
数组是比列表等集合更低级的抽象.CLR直接了解数组,因此迭代,访问等涉及的工作量略少.
但是,这几乎不应该决定你实际使用哪个.在大多数实际应用中,性能差异可以忽略不计.我很少发现使用数组而不是各种泛型集合类是合适的,事实上有些人认为数组有些有害.一个重要的缺点是没有不可变数组(除了空数组)之外......而您可以相对容易地通过API公开只读集合.
数组不可调整大小.这意味着在创建时会分配一个内存块,大小足以容纳您指定的多个元素.
List
另一方面,A 是隐式可调整大小的.每次有Add
一个项目时,框架可能需要分配更多内存来保存刚添加的项目.这是一个昂贵的操作,所以我们最终说"List比数组慢".
当然这是一个非常简化的解释,但希望足以描绘出来.
归档时间: |
|
查看次数: |
38008 次 |
最近记录: |