2017-06-20 45 views
2

this answer与此位的代码开始:PowerShell的:加载阵列为WPF列表框

stringList.ForEach(item => listBox1.Items.Add(item)); 

我把我自己的变量入行,像这样:

$listAgencies = $Window.FindName('listAgencies') 
$arr_listAgencies = ($hash_AgencyOffices['ADMIN1','ADMIN2'].Keys | ForEach-Object ToString) 
$arr_listAgencies.ForEach(item => $listAgencies.Items.Add(item)) 

我有确认$arr_listAgencies是我在列表框$listAgencies中需要的值的列表,但我猜我完全忽略item在最后一行中的重要性:(item => $listAgencies.Items.Add(item))

当我运行这个PS好心告诉我,还有在方法调用一个缺少“)”并且在表达式或语句意外的标记“项”。

item应该是$._,流水线变量?我认为这可能是它并尝试过,但错误本质上是一样的。

我错过了什么?

回答

2

item => {code}=>运算符在PowerShell中不可用。它是C#的lambda表达式运算符。

为了达到你想要的东西,试试这个

$arr_listAgencies | ForEach-Object { 
    $listAgencies.Items.Add($_) | Out-Null 
} 
+0

这确实奏效。谢谢你为我澄清。 – music2myear