在 C# 中,动态数组(通常指 List<T>)和普通数组(T[])在长度和范围方面存在显著区别,并且它们在实际开发中的使用场景和优势也有所不同。
1. 普通数组(T[])的长度和范围
1.1 特点
- 长度固定:
- 在数组声明时,长度是固定的,无法动态调整。
- 如果需要增加或减少元素,通常需要创建一个新数组。
int[] array = new int[5]; // 长度固定为5 - 索引范围:
- 索引从
0开始,到Length - 1为止。 - 超出范围访问会抛出
IndexOutOfRangeException。
int[] array = { 1, 2, 3 }; Console.WriteLine(array[2]); // 输出3 Console.WriteLine(array[3]); // 抛出异常 - 索引从
1.2 优势
- 内存效率高:数组在内存中是连续存储的,访问速度快,适合对固定大小的数据进行操作。
- 简单易用:适用于不需要动态调整长度的场景。
1.3 劣势
- 缺乏灵活性:无法动态调整长度。
- 不支持高级操作:如插入、删除、查找等需要手动实现。
2. 动态数组(List)的长度和范围
2.1 特点
-
长度动态调整:
List<T>会根据需要动态增加或减少长度。- 内部通过扩容机制实现(通常以倍数增长)。
List<int> list

1266

被折叠的 条评论
为什么被折叠?



