我在powershell中连接一个简单的字符串时遇到了一个非常奇怪的问题。
我有一个充满整数的数组(我们叫它$countArray)和一个充满字符串的数组($reportMsg)。我正在使用这些元素为消息创建一个描述,并以新行结束。对数字数组中的每个元素执行此操作。
$description= "`"";
foreach($num in $countArray){
if($num -gt 0){
$description+=[string]$num[$i] + $reportMsg[$i]+"`n";
}
$i++
}
$description+="`","
Write-output $description
问题是,当我执行这个时,只有第一个数字被连接到字符串。我100%确定$num数组中的所有值都被分配。在PowerShell ISE的调试器中,它甚至显示$num有一个值,它只是没有分配给$description。
所需输出:"10 - apples detected
19 - oranges detected
4 - bananas detected
100 - guavas detected",
当前输出:"10 - apples detected
- oranges detected
- bananas detected
- guavas detected",
我做错了什么?
如果不确切知道这些数组中的内容,则很难判断,但我怀疑:
$description+=[string]$num[$i] + $reportMsg[$i]+"`n";
应为
$description+=[string]$num + $reportMsg[$i]+"`n";