Arrays 如何根据数组匹配值并设置变量?

Arrays 如何根据数组匹配值并设置变量?,arrays,powershell,Arrays,Powershell,我试图根据用户选择的办公地点设置用户的Active Directory城市、地址、州、邮政编码 我有一个winform,它有各种标题、部门和位置的下拉菜单。 选择位置后,我希望它能够自动设置地址、城市、州、邮政编码,而无需手动输入 位置字段存储为$locationcombobox.text,具有以下选项: Office Office1 Office2 Office3 Office4 Office5 Office6 我的阵列与此类似: City State Office ----

我试图根据用户选择的办公地点设置用户的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 市州办事处 ---- ----- ------ 新泽西州纽瓦克办事处1 波特兰ME办公室2 纽约办事处3 德克萨斯州达拉斯办事处4 丹佛联合办事处5 亚特兰大GA办公室6 当有人在组合框中选择Office1时,我希望它设置
$city=Newark
$state=NJ

我肯定我想得太多了,但是我没有太多调用数组的经验

最简单的方法是使用
Office
属性作为键,将数组转换为哈希表。通过这种方式,您可以轻松查找基于Office的
城市
值:

# 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

您使用的是Windows窗体还是WPF/XAML?Mathias,我想将哈希表嵌入到脚本中,这样我就不必每次都导入csv。我编写了哈希表,但得到的数组索引值为null。思想?