2012-03-06 12 views

Respuesta

26

Un par de otras opciones:

  1. Usar el operador coma para crear una matriz:

    $cars = ,"bmw" 
    $cars.GetType().FullName 
    # Outputs: System.Object[] 
    
  2. Uso sintaxis de matrices subexpresión:

    $cars = @("bmw") 
    $cars.GetType().FullName 
    # Outputs: System.Object[] 
    

Si no desea que un conjunto de objetos Puede abatido al tipo que desee p.ej una matriz de cadenas.

[string[]] $cars = ,"bmw" 
[string[]] $cars = @("bmw") 
+0

¡Gracias Andy! Veo que mi script está fallando porque el valor de system.object []. ¿Hay alguna forma de procesar los contenidos como cadenas? – Sune

+0

@Sune Sí, acaba de lanzar a una matriz de cadenas. Agregué ejemplos. –

+0

¡Esto funciona! Muchas gracias :) – Sune

6

que declaran matriz como:

$car = array("bmw") 

EDITAR

ahora con la sintaxis de PowerShell :)

$car = [array]"bmw" 
+0

Gracias por su ayuda! No lo acepté como respuesta, porque la sintaxis está desactivada. Tal vez para otro idioma? Gracias de todos modos :) – Sune

+0

Esto no funciona en PowerShell. –

+0

Su respuesta editada funciona en Powershell. ¡Gracias Vikram! – Sune

12

En lugar de escribir echo $cars.length escritura echo @($cars).length

+0

Eso me ayudó mucho. Una matriz con 1 elemento "$ packs.Count" no devolvió nada. Con varios elementos funcionó bien. Después de cambiarlo a "@ ($ packs) .count", también devolvió 1 por 1 elemento. ¡Muchas gracias! ¿Puedes explicar este comportamiento? – Hardoman

Cuestiones relacionadas