Ответ 1
Нет. Синтаксис инициализации для Dictionary<TKey,TValue>
- это синтаксис С#. Powershell имеет собственную поддержку синтаксиса инициализатора для System.Collections.HashTable
(@{}
):
$drivers = @{"nitrous"="vx"; "directx"="vd"; "openGL"="vo"};
Для [вероятно] почти всех случаев он будет работать так же хорошо, как Dictionary<TKey,TValue>
. Если по какой-то причине вам действительно понадобится Dictionary<TKey,TValue>
, вы можете сделать функцию, которая принимает HashTable
и выполняет итерацию через ключи и значения, чтобы добавить их в новый Dictionary<TKey,TValue>
.
Синтаксис инициализатора С# точно не является "прямым". Компилятор генерирует на него вызовы Add()
.