none
PowerShell. Массив. RRS feed

  • Вопрос

  •  

    Есть задача такая - создать массив вида:

    Поле1       Поле2       Поле3      Поле4

    ---------        ----------     ----------     ----------

    знач1        знач2        знач3      знач4

    знач11      знач22       знач33    знач44

    ...

     

    Ассоциативный массив не подходит, там только 2 поля Name и Value.

    Мне надо в виде массива вернуть например результат SQL запроса.

    Кто знает - отзовись! Smile

Ответы

  • Если я правильно понимаю задачу - надо просто вернуть массив объектов с некими свойствами. Создать объекты можно например так:

     

    Code Snippet

    1..5 | foreach {new-object psobject | add-member noteproperty "Поле1" "Значение1$_" -passthru | add-member
     noteproperty "Поле2" "Значение2$_" -passthru | add-member noteproperty "Поле3" "Значение3$_" -passthru}

    Поле1      Поле2      Поле3
    -----      -----      -----
    Значение11 Значение21 Значение31
    Значение12 Значение22 Значение32
    Значение13 Значение23 Значение33
    Значение14 Значение24 Значение34
    Значение15 Значение25 Значение35

     

     

    Если что то непонятно - переспрашивайте Smile
    Модератор

Все ответы

  • Если я правильно понимаю задачу - надо просто вернуть массив объектов с некими свойствами. Создать объекты можно например так:

     

    Code Snippet

    1..5 | foreach {new-object psobject | add-member noteproperty "Поле1" "Значение1$_" -passthru | add-member
     noteproperty "Поле2" "Значение2$_" -passthru | add-member noteproperty "Поле3" "Значение3$_" -passthru}

    Поле1      Поле2      Поле3
    -----      -----      -----
    Значение11 Значение21 Значение31
    Значение12 Значение22 Значение32
    Значение13 Значение23 Значение33
    Значение14 Значение24 Значение34
    Значение15 Значение25 Значение35

     

     

    Если что то непонятно - переспрашивайте Smile
    Модератор
  •  Василий Гусев написано:

    Если я правильно понимаю задачу - надо просто вернуть массив объектов с некими свойствами. Создать объекты можно например так:

     

    Code Snippet

    1..5 | foreach {new-object psobject | add-member noteproperty "Поле1" "Значение1$_" -passthru | add-member
     noteproperty "Поле2" "Значение2$_" -passthru | add-member noteproperty "Поле3" "Значение3$_" -passthru}

    Поле1      Поле2      Поле3
    -----      -----      -----
    Значение11 Значение21 Значение31
    Значение12 Значение22 Значение32
    Значение13 Значение23 Значение33
    Значение14 Значение24 Значение34
    Значение15 Значение25 Значение35

     

     

    Если что то непонятно - переспрашивайте

    Ай молодца! Это и надо. Большое человеческое СПАСИБО!

  • Всегда пожалуйста Smile Если еще не - рекомендую прочитать справку для add-member, там можно куда более красиво записать, не в одну строчку Smile

     

    Второй, часто использующийся вариант создания объектов на скорую руку (хотя и менее красивый) - это применение Select-Object:

    Code Snippet

    [PS] 0 | Select-Object @{name="Свойство1";expression={"Значение1"}}, @{n="Свойство2";e={1+2}} | fl


    Свойство1 : Значение1
    Свойство2 : 3

     

     

    Причем без разницы что подавать на вход к Select-Object, он всё равно создаст новый объект с указанными свойствами.

    Модератор