Назначение массива записи словаря в Powershell

Я пытаюсь присвоить массив в качестве значения записи словаря следующим образом, но его исключение.

$sd = New-Object 'System.Collections.Generic.SortedDictionary[int, string[]]'
$sd[0] = "Data1a", "asda";

Есть идеи?


person nabeelfarid    schedule 11.01.2011    source источник


Ответы (1)


Используйте приведение к [string[]]:

$sd = New-Object 'System.Collections.Generic.SortedDictionary[int, string[]]'
$sd[0] = [string[]]("Data1a", "asda")

Другой вариант — изменить тип значения словаря на object[]:

$sd = New-Object 'System.Collections.Generic.SortedDictionary[int, object[]]'
$sd[0] = "Data1a", "asda"
person Roman Kuzmin    schedule 11.01.2011
comment
блестяще! ... я пробовал литье, как вы упомянули, но мне не хватало круглых скобок. Спасибо - person nabeelfarid; 11.01.2011
comment
Работает отлично. Второй фрагмент мне нравится гораздо больше. Кастинг - это грязь :D - person Guy; 11.10.2012