当存储为第二维时,PowerShell会将字符串数组折叠为单个字符串

时间:2016-06-14 14:38:15

标签: arrays string powershell

出于某种原因,当PowerShell被设置为二维数组的第二维时,它会获取一个字符串数组并将其转换为单个字符串(或者可能是一个字符数组?):

以下是$path数组的初始输出:

PS C:\Users\crd> $path
C:
Program Files (x86)
Common Files
Adobe
ARM
1.0
armsvc.exe

path[0]数组条目是一个字符串值:

PS C:\Users\crd> $path[0]
C:

现在我们将$test[]数组中的第一个值设置为等于我们的字符串数组:

PS C:\Users\crd> $test[0]=$path

您可以看到整个字符串数组已合并:

PS C:\Users\crd> $test[0]
C: Program Files (x86) Common Files Adobe ARM 1.0 armsvc.exe

这是为什么?我确信微软在某处记录了这一点,但我很难找到它。

期望输出保持不变。请注意以下输出:

PS C:\Users\chris> $test[0][0]
C

我希望这与$path[0]的{​​{1}}输出相同。为什么要合并?

1 个答案:

答案 0 :(得分:0)

您将项目的哈希值更改为单个字符串值。按预期工作。