本文介绍了PowerShell的Array.Add VS + =的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现在PowerShell中数组一些有趣的行为,即如果我声明数组作为:

  $阵列= @()

和则尝试使用 $ array.Add(项目)方法将项目添加到它,我收到以下错误:

 异常调用添加和1的说法(S):收藏是一个固定大小的

不过,如果我用追加的项目 $阵列+ =项,该项目被接受没有问题和固定大小的限制似乎没有不适用。

这是为什么?


解决方案

当您使用 $ array.Add()方法,你要添加的元素到阵列。数组是固定大小的集合,所以你会收到一个错误。

当您使用 $阵列+ = $元素,PS创建一个具有相同的元素为 $数组的新阵列 +您要添加,然后它会覆盖原来的一个(S)。你看有什么区别?第一种方法试图修改/扩大原有的数组,而这种方法只是复制所有元素到一个新的温度。阵列,并覆盖旧的 $阵列 -variable。

Source: about_Arrays

这篇关于PowerShell的Array.Add VS + =的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-27 14:12
查看更多