$cars = "bmw","audi","volvo","vw"
echo $cars.length
返回4,但計數長度,如果它僅包含一個元素
$cars = "bmw"
返回3,因爲它計算字符..
是否有一種方法可以返回1如果數組只包含一個項目?
$cars = "bmw","audi","volvo","vw"
echo $cars.length
返回4,但計數長度,如果它僅包含一個元素
$cars = "bmw"
返回3,因爲它計算字符..
是否有一種方法可以返回1如果數組只包含一個項目?
一對夫婦的其他選項:
用逗號來創建磁盤陣列:
$cars = ,"bmw"
$cars.GetType().FullName
# Outputs: System.Object[]
使用數組子表達式語法:
$cars = @("bmw")
$cars.GetType().FullName
# Outputs: System.Object[]
如果你不希望一個對象數組,你可以向下轉換到你想要的類型例如一個字符串數組。
[string[]] $cars = ,"bmw"
[string[]] $cars = @("bmw")
而是寫echo $cars.length
寫echo @($cars).length
這幫了我很多。具有1個元素「$ packs.Count」的數組沒有返回任何東西。有幾個元素,它運作良好。將其更改爲「@($ packs).count」後,它也返回1。萬分感謝!你能解釋這種行爲嗎? – Hardoman 2017-04-13 13:46:31
謝謝安迪!我看到我的腳本失敗,因爲如果system.object []的值。有沒有辦法將內容處理爲字符串? – Sune 2012-03-06 10:08:25
@Sune是的,你只是向下投射到一個字符串數組。我添加了例子。 – 2012-03-06 10:25:44
這個工程!非常感謝:) – Sune 2012-03-07 07:54:24