在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[]