PowerShell中的强类型数组介绍

在PowerShell中,当我们将一串强类型的值赋给一个变量时,这个变量就成了强类型数组。如果在一个强类型的数组中增加一个非强类型的数组元素(使用“+=”操作符),这时该数组将又变回普通数组。

看看这个例子:


PS> $array = [Int[]](1,2,3,4,5)

PS> $array.GetType().FullName

System.Int32[]

PS> $array += "foo"

PS> $array.GetType().FullName

System.Object[]

之所以数组又变回为一个普通数组,这是因为要往数组中添加一个元素,先得创建一个普通数组,然后把强类型数组中的所有元素都拷贝进普通数组中。

如果往强类型数组中添加一个同类型的数据,则数组类型保持不变。

例子:


PS> [Int[]]$array = 1,2,3,4,5

PS> $array.GetType().FullName

System.Int32[]

PS> $array += 6

PS> $array.GetType().FullName

System.Int32[]


其实强类型的数组就这样简单,至于有什么用途,小编暂时还没有用到,大家可以先了解有这么一个东东,真正在需求的时候能想起来它就行了。