如何将值与数组和设置变量进行匹配?

时间:2017-03-01 16:10:32

标签: arrays powershell

我正在尝试根据用户为用户的办公地点选择的内容设置用户的Active Directory城市,地址,状态,邮政编码。

我有一个winform,它有各种标题,部门,位置的下拉菜单。 选择位置后,我希望自动设置地址,城市,州,邮政而无需手动输入。

位置字段存储为$locationcombobox.text,其中包含以下选项:

Office
Office1
Office2
Office3
Office4
Office5
Office6

我的数组看起来与此相似:

City      State  Office 
----      -----  ------ 
Newark    NJ     Office1
Portland  ME     Office2
New York  NY     Office3
Dallas    TX     Office4
Denver    CO     Office5
Atlanta   GA     Office6

当有人在组合框中选择Office1时,我会喜欢设置$city = Newark$state=NJ。 我确信我正在过度思考这个问题,但我没有多少经验来调用数组。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用Office属性作为键将数组转换为哈希表。这样,您就可以根据Office轻松查找CityState值:

# Create empty hashtable
$OfficeLookup = @{}

# Add the array items to the table
$MyArray |ForEach-Object {
    $OfficeLookup[$_.Office] = $_
}

现在,您可以轻松获取以下值:

$Office = $OfficeLookup[$locationcombobox.text]
$City = $Office.City
$State = $Office.State