【发布时间】:2014-08-18 14:08:59
【问题描述】:
给定一个键值对数组(例如通过 ConvertFrom-StringData 读取),是否有一种简化的方法可以将其转换为 Hashtable 或类似的以允许快速查找? IE。一种不需要我循环遍历数组并自己手动构建哈希表的方法。
示例数据
10.0.0.1=alice.example.com
10.0.0.2=bob.example.com
使用示例
$names = gc .\data.txt | ConvertFrom-StringData
// $names is now Object[]
$map = ?
// $map should now be Hashtable or equivalent
echo $map['10.0.0.2']
// Output should be bob.example.com
基本上我正在寻找的是一个最好的内置文件到哈希表函数。或者一个数组到哈希表的函数。
注意: 正如@mjolnior 解释的那样,我实际上得到了哈希表,但是一个单值数组。所以通过读取文件-raw 来解决这个问题,因此不需要任何数组到哈希表的转换。更新了问题标题以匹配它。
【问题讨论】:
-
所以,等等,我很困惑...... 完全按照您对
$names所做的操作,然后只是执行$names.'10.0.0.2'以获得所需的输出有什么问题? -
@TheMadTechnician 语法错误,因为 $names 最终是一个单值哈希表数组,而不是一个哈希表。
标签: arrays powershell hashmap hashtable