$a = @('Blue', 'red', 'green')
$b = @('car', 'bike')
$outArrays = @(), @() # Initialize a 2-element array.
$i = 0
foreach ($elB in $b) {
$outArrays[$i++] = foreach ($elA in $a) { "$elA $elB" }
}
-
$outArrays[0] 现在包含 'blue car', 'red car', 'green car'
-
$outArrays[1] 现在包含 'blue bike', 'red bike', 'green bike'
以上内容利用了 PowerShell 使用循环语句(如 foreach)作为 表达式 的能力,PowerShell 隐式收集循环中的所有输出到一个 array (@ 987654330@;假设两个或更多个输出)。
关于数组连接的一般信息:
要创建一个 flat 数组,通过串联,只需使用+:
# Creates a flat array with 5 elements:
# @('Blue', 'red', 'green', 'car', 'bike')
$a + $b
要创建一个包含两个元素的嵌套数组,请使用,的一元形式,即array constructor operator:
# -> Nested 2-element array:
# * Element 0 contains @('Blue', 'red', 'green')
# * Element 1 contains: @('car', 'bike')
, $a + , $b
顺便说一句:请注意,您并不严格需要 @(...), the array-subexpression operator 来创建数组文字;例如,
$a = 'Blue', 'red', 'green' 可以。