我有一个非常奇怪的问题,在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",
我做错了什么?
答案 0 :(得分:3)
如果不确切知道那些数组中的内容很难说,但我怀疑这一点:
$description+=[string]$num[$i] + $reportMsg[$i]+"`n";
应该是
$description+=[string]$num + $reportMsg[$i]+"`n";