Skip to main content
 首页 » 编程设计

arrays之在 PowerShell 中将数组追加到数组数组

2024年06月20日27luoye11

我正在尝试使用磁盘上的 CSV 文件以编程方式在 PowerShell 中构建多维数组。我一直将数组导入到临时变量中,然后将数组附加到数组中。我得到的是包含总行数的单个数组,而不是数组的数组。我用较小的数组进行了计算,发现了以下内容:

$array1 = "11","12","13" 
$array2 = "21","22","23" 
$array3 = "31","32","33" 
 
$arrayAll = $array1, $array2, $array3 
$arrayAll.Count # returns 3 
 
$arrayAll = @(); 
$arrayAll += $array1 
$arrayAll += $array2 
$arrayAll += $array3 
 
$arrayAll.count # returns 9 

构建数组的第一种方法有效,但我需要能够使用第二种方法。我该如何解决这个问题?

请您参考如下方法:

这是一个常见的问题,数组(和其他集合)可能会“意外”展开。使用逗号运算符(它创建/强制使用单个项目的数组并避免展开):

$array1 = "11","12","13" 
$array2 = "21","22","23" 
$array3 = "31","32","33" 
 
$arrayAll = $array1, $array2, $array3 
$arrayAll.Count # returns 3 
 
$arrayAll = @() 
$arrayAll += , $array1 
$arrayAll += , $array2 
$arrayAll += , $array3 
 
$arrayAll.count # returns 3 
 
$arrayAll[1] # gets "21","22","23", i.e. $array2