Рассчитать длину массива и вернуть 1, если он содержит только один элемент $cars = "bmw","audi","volvo","vw" echo $cars.length возвращает 4, но $cars = "bmw" возвращает 3, потому что он подсчитывает символы. Есть ли способ, которым я могу вернуть 1, если массив содержит только один элемент? Ответ 1 Пара других опций: Используйте оператор запятой для создания массива: $cars = ,"bmw" $cars.GetType().FullName # Outputs: System.Object[] Использовать синтаксис подвыражения массива: $cars = @("bmw") $cars.GetType().FullName # Outputs: System.Object[] Если вам не нужен массив объектов, вы можете сбрасывать его до нужного вам типа, например. массив строк. [string[]] $cars = ,"bmw" [string[]] $cars = @("bmw") Ответ 2 Вместо записи echo $cars.length напишите echo @($cars).length Ответ 3 объявите массив как: $car = array("bmw") ИЗМЕНИТЬ теперь с синтаксисом powershell:) $car = [array]"bmw"
Ответ 1 Пара других опций: Используйте оператор запятой для создания массива: $cars = ,"bmw" $cars.GetType().FullName # Outputs: System.Object[] Использовать синтаксис подвыражения массива: $cars = @("bmw") $cars.GetType().FullName # Outputs: System.Object[] Если вам не нужен массив объектов, вы можете сбрасывать его до нужного вам типа, например. массив строк. [string[]] $cars = ,"bmw" [string[]] $cars = @("bmw")
Ответ 3 объявите массив как: $car = array("bmw") ИЗМЕНИТЬ теперь с синтаксисом powershell:) $car = [array]"bmw"