Arrays(数组)
本节介绍 PowerShell 中数组的创建、访问、遍历、增删改、筛选排序、管道交互、多维与交错数组,以及性能与实践建议。
1. 创建数组
- 逗号分隔字面量:
- 强类型数组(约束元素类型):
- 展开运算:
2. 访问与切片
- 索引(支持负索引、范围):
3. 遍历(枚举)
- 从 PowerShell 3+ 起,数组提供 .ForEach()/.Where() 扩展方法(便捷且高效):
4. 增删改(可变性与替代)
- 数组是“固定长度”的集合,使用 += 或 + 追加元素会创建新数组,频繁操作有性能开销:
- 插入/删除常用“切片拼接”技巧:
- 高性能追加:推荐使用泛型 List[T],最后再 ToArray()
5. 筛选、排序、去重
6. 其他常用操作
7. 多维数组与交错数组
- 多维(矩阵):
- 交错(数组的数组):
8. 管道与枚举行为
- 大多数命令会逐项处理数组元素:
- 一元逗号防止被展开(将单个对象包成长度为 1 的数组):
9. 实用示例
- 找出当前目录体积最大的前 5 个文件:
- 将偶数与奇数分组(PowerShell 3+):
10. 性能与建议
- 大量追加/插入请使用 List[T] 或队列/栈;最终再转回数组。
- 需要稳定排序时使用 Sort-Object(默认稳定)。
- 对象数组处理属性时,结合 Select-Object/Where-Object 效果最佳。