对于我正在做的项目,我需要检查文件的一行中是否存在一对字符串。

我试图使用像这样的哈希表:

$makes = 'Ferrari', 'Ford', 'VW', 'Peugeot', 'Subaru'
$models = 'Enzo', 'Focus', 'Golf', '206', 'Impreza'

$table = @{}

for ($i = 0; $i -lt $makes.Length; $i++)
{
    $table.Add($makes[$i], $models[$i])
}

在我尝试插入重复的品牌之前,此方法效果很好。我很快发现哈希表不接受重复项。

那么有没有一种方法可以在PowerShell中创建字符串的双重列表?在C#中非常容易做到,但是我发现在PowerShell中无法实现它。

最佳答案

只需对代码和逻辑进行最少的更改:

$makes = 'Ferrari', 'Ford', 'VW', 'Peugeot', 'Subaru'
$models = 'Enzo', 'Focus', 'Golf', '206', 'Impreza'

for ($i = 0; $i -lt $makes.Length; $i++){
    [array]$cars += New-Object psobject -Property @{
        make  = $makes[$i]
        model = $models[$i]

    }
}

这使用自定义psobject,将其强制转换为数组,以便允许+=

09-04 23:12