【问题标题】:Powershell: Odd output when using foreach and listboxPowershell:使用 foreach 和 listbox 时的奇怪输出
【发布时间】:2012-04-27 12:22:27
【问题描述】:

我目前正在试验并尝试获取此代码:

$processnames = Get-Process | select name 
foreach ($processname in $processnames)
{
[void]$AD_list_current.Items.Add($processnames)

}

在列表框中输出。它按原样输出,但由于某种原因,它一直在列表框中显示为:

有人知道这是为什么吗?

非常感谢。

谢谢

【问题讨论】:

    标签: powershell listbox foreach


    【解决方案1】:

    这是添加所有进程名称的更简单的方法:

    $list.Items.AddRange( (Get-Process | select name) )
    

    【讨论】:

      【解决方案2】:

      试试这个:

      [void]$AD_list_current.Items.Add($($processnames))
      

      【讨论】:

        【解决方案3】:

        您正在将$processnames 而不是$processname 添加到您的列表中。

        这是一个数组。

        根据 Joey 的评论,默认的 ToString() 方法将显示类型名称,即 System.Object

        【讨论】:

        • 它是一个数组,默认的 ToString() 实现产生类型名称。与解释为对象无关。
        • 我添加了 $processname 而不是 $processnames 并且它有效。感谢大家的帮助
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-07
        • 1970-01-01
        相关资源
        最近更新 更多