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

标签 arrays powershell

我正在尝试使用磁盘上的 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

关于arrays - 在 PowerShell 中将数组追加到数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6157179/

相关文章:

arrays - 阵列平均速度和最高速度 "CoreLocation"

java - 字母数字拨号盘搜索 - Java/Android

php - (PHP) 二维数组第一个元素为索引 "name"

powershell - 导入证书 - 访问被拒绝(以管理员身份运行时)

email - 使用Powershell发送延迟消息传递并更改默认帐户

windows - 如何在 Powershell 上只获取服务器的正常运行时间?

c# - Powershell 加载自定义程序集配置文件

powershell - 验证多个 Azure Powershell 函数

c - C语言中如何从逗号分隔的字符串中获取子字符串

数组破坏了 Julia 中的字符串类型