В PowerShell, вы не можете получить ссылку на отдельные элементы массива .
Чтобы получить напишите доступ к указанному c элементу массива, ваш единственный вариант:
Другими словами:
Учитывая $var3 = "string 1", "string 2", "string 3"
, только способ изменить 2-й элемент массива, хранящегося в $var3
, должен использовать $var3[1] = ...
(за исключением акробатики через C# код, составленный по запросу).
Что касается того, что вы пробовали :
[ref] $var2 = [ref] ($var3[1])
В PowerShell, если вы получите значение $var3[1]
, это всегда копия данных, хранящихся во втором элементе $var3
(который может быть копией фактических данных, если элемент содержит экземпляр типа значения , или копию ссылки на экземпляр ссылочного типа , в противном случае).
Преобразование этой копии в [ref]
, следовательно, неизменно диссоциирует от исходного элемента массива.