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