web-dev-qa-db-fra.com

Compter la longueur du tableau et retourner 1 s'il ne contient qu'un seul élément

$cars = "bmw","audi","volvo","vw"
echo $cars.length

renvoie 4, mais

$cars = "bmw"

renvoie 3 car il compte les caractères ..

Existe-t-il un moyen de retourner 1 si le tableau ne contient qu'un seul élément?

20
Sune

Quelques autres options:

  1. Utilisez l'opérateur virgule pour créer un tableau:

    $cars = ,"bmw"
    $cars.GetType().FullName
    # Outputs: System.Object[]
    
  2. Utilisez la syntaxe de sous-expression du tableau:

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

Si vous ne voulez pas d'un tableau d'objets, vous pouvez effectuer une conversion vers le type souhaité, par exemple un tableau de chaînes.

 [string[]] $cars = ,"bmw"
 [string[]] $cars = @("bmw")
29
Andy Arismendi

Au lieu d'écrire echo $cars.length, Écrivez echo @($cars).length

15
jon Z

déclarez votre tableau comme:

$car = array("bmw")

MODIFIER

maintenant avec la syntaxe powershell :)

$car = [array]"bmw"
7
Vikram