下面的代码在一个下拉框中检查,选择了哪个项目,然后在几个数组中进行搜索,很快发现,循环被打破,我在“`$$($ array。中收到了正确的信息。名称)”。
$search = $CreateNewUserFormDropDownBoxLocation.SelectedItem.Split('-')[$($CreateNewUserFormDropDownBoxLocation.SelectedItem.Split('-').Count - 1)].Trim() + '*'
$AllLocations = (Get-Variable -Include USPennsylvaniaAve, USSixthStreet, USRodeoDrive, USOneMicrosoftWay,`
USNorthTantauAvenue, USMarketStreet, USMainStreet, USEmilyDrive,`
USCalle8, USBroadway, US18thStreetNW, UKOxfordStreet, UKDowningStreet,`
UKBondStreet, FRRuedeRivoli, FRChampsElysees, CHBahnhofstrasse,`
CA17thAvenue) | ? {$_.value -is [array]}
foreach ($Array in $AllLocations) {
if ($array.value -like $search) {
break
}
}
$test = "`$$($array.name)"
问题在于变量$test
确实包含正确的数组,我很感兴趣与索引配合使用(希望我说的没错)。
例如,代码运行后,我输入$test
,结果例如是$USMarketStreet
,这是我的数组之一。
如果我尝试通过键入$test[0]
来获取第一个索引,则无法从数组中获得预期的内容,它将给我$
。
如果输入$test[0..4]
,则会得到:
$ U S M a
我的意图是,要从数组中获取第一个键,但取而代之的是,我要从数组名称中获取第一个字符。
有个花招,我怎么去做?我也尝试过使用$array
和$array.value
,但没有成功。