【问题标题】:Characters lost on simple assignment简单分配中丢失的字符
【发布时间】:2014-08-21 04:59:04
【问题描述】:

我在 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",

我做错了什么?

【问题讨论】:

    标签: arrays string powershell variable-assignment powershell-3.0


    【解决方案1】:

    如果不确切知道这些数组中的内容很难说,但我怀疑这是:

    $description+=[string]$num[$i] + $reportMsg[$i]+"`n";
    

    应该是

    $description+=[string]$num + $reportMsg[$i]+"`n";
    

    【讨论】:

      猜你喜欢
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      相关资源
      最近更新 更多