如何删除Powershell脚本中用foreach添加的哈希表上重复的元素?

时间:2019-03-07 08:55:47

标签: powershell dictionary foreach hashtable

我有一个包含重复元素的数组。我希望使用字典来删除重复的元素。这是我的代码块:

fx:controller

字典中仍然有重复的元素,但是在添加时像这样:

ControllerMonthly

不允许。我究竟做错了什么?

该数组是执行此操作的结果

initialize

在Visual Studio的程序包管理器控制台中。

2 个答案:

答案 0 :(得分:1)

如果要允许相同的键覆盖字典中已经存在的值(最后一项“ wins”),请使用以下语法:

foreach ($item In $pkg){
    $dictionary[$item.Id] = $item.Version
}

如果要使用相同的键跳过项目,请使用以下方法:

foreach ($item In $pkg) {
    if (!($dictionary.Contains($item.Id))) {
        $dictionary.Add($item.Id, $item.Version)
    }
}

答案 1 :(得分:0)

如果您不想覆盖已经存在的values的{​​{1}},则可以在将keys添加到key之前检查它是否存在(再次):

hashtable