对于我正在做的项目,我需要检查文件的一行中是否存在一对字符串。
我试图使用像这样的哈希表:
$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
,将其强制转换为数组,以便允许+=
。