Приведенный ниже код проверяет в выпадающем списке, какой элемент был выбран, а затем ищется в нескольких массивах, и, как только он будет найден, цикл прерывается через разрыв, и я получаю правильную информацию в массиве "` $$ ($.name) ".
$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
, но безуспешно.