【发布时间】:2016-04-14 10:13:15
【问题描述】:
我在 Powershell 脚本中使用数组数组,但是,有时我的数组数组实际上只包含一个数组。 出于某种原因,Powershell 不断将包含一个数组的数组替换为一个数组。我不明白,我以前用过的其他脚本/编码语言都没有这样做过。
例如,这是我不想要的:
PS C:\Users\> $a = @(@(123,456,789))
PS C:\Users\> $a[0]
123
这就是我想要的:
PS C:\Users\> $a = @(@(123,456,789), @())
PS C:\Users\> $a[0]
123
456
789
当我的数组只包含一个数组时,为什么我必须强制一个额外的空数组让 Powershell 考虑我的数组?这让我发疯了!
【问题讨论】:
-
$a = ,(123,456,789) -
对不起,如果这听起来很愚蠢,但你能解释一下这个语法吗?就连微软的文档也很含糊technet.microsoft.com/en-us/library/hh847882.aspx
-
@jdel PowerShell 试图通过扁平化 1 大小的数组来“提供帮助”,这样您就不会在不需要它们时意外地得到嵌套结构
标签: arrays powershell multidimensional-array