Powershell-数组
时间:2019-08-20 13:50:56 来源:igfitidea点击:
PowerShell提供了一个数据结构array(数组),它存储任何类型元素的固定大小的顺序集合。
数组用于存储数据集合,但将数组看作变量或对象的集合通常更有用。
不是声明单个变量,例如number0、number1、…、number99,而是声明一个数组变量,如numbers,并使用numbers[0]、numbers[1]和…、numbers[99]来表示单个变量。
本教程介绍如何使用索引变量声明数组变量、创建数组和处理数组。
声明数组变量
要在程序中使用数组,必须声明一个变量来引用该数组,并且可以指定变量可以引用的数组类型。
语法
$A = 1, 2, 3, 4 或者 $A = 1..4
注-默认情况下,数组的对象类型为系统对象 System.Object . 方法返回数组的类型。无法传递类型。
示例
[int32[]]$intA = 1500,2230,3350,4000 $A = 1, 2, 3, 4 $A.getType()
结果为:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array
数组元素是通过索引访问的。数组索引是从0开始的;也就是说,它们从0到数组长度-1.
示例
下面的语句声明一个数组变量myList,创建一个包含10个double类型元素的数组,并将其引用赋值给myList
$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123
下图表示数组myList。在这里,myList保存了10个双精度值,索引从0到9.
处理数组
在处理数组元素时,我们经常使用for循环或foreach循环,因为数组中的所有元素都是相同类型的,并且数组的大小是已知的。
示例
下面是一个完整的示例,展示了如何创建、初始化和处理数组
$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123 write-host("打印所有数组元素") $myList write-host("获取数组的长度") $myList.Length write-host("查看数组的第2个元素") $myList[1] write-host("获取子数组") $subList = $myList[1..3] write-host("打印数组") $subList write-host("使用for循环") for ($i = 0; $i -le ($myList.length - 1); $i += 1) { $myList[$i] } write-host("使用 forEach 循环") foreach ($element in $myList) { $element } write-host("使用while 循环") $i = 0 while($i -lt 4) { $myList[$i]; $i++ } write-host("赋值") $myList[1] = 10 $myList
数组方法示例
下面的示例,展示了使用数组方法对数组进行的操作:
$myList = @(0..4) write-host("打印数组") $myList $myList = @(0..4) write-host("赋值") $myList[1] = 10 $myList