2012-03-06 33 views

回答

26

一對夫婦的其他選項:

  1. 用逗號來創建磁盤陣列:

    $cars = ,"bmw" 
    $cars.GetType().FullName 
    # Outputs: System.Object[] 
    
  2. 使用數組子表達式語法:

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

如果你不希望一個對象數組,你可以向下轉換到你想要的類型例如一個字符串數組。

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

謝謝安迪!我看到我的腳本失敗,因爲如果system.object []的值。有沒有辦法將內容處理爲字符串? – Sune 2012-03-06 10:08:25

+0

@Sune是的,你只是向下投射到一個字符串數組。我添加了例子。 – 2012-03-06 10:25:44

+0

這個工程!非常感謝:) – Sune 2012-03-07 07:54:24

6

你聲明數組作爲:

$car = array("bmw") 

編輯

現在使用PowerShell語法:)

$car = [array]"bmw" 
+0

的感謝您的幫助!雖然我沒有接受它作爲答案,因爲語法是關閉的。也許換另一種語言?謝謝你:) – Sune 2012-03-06 08:46:41

+0

這在PowerShell中不起作用。 – 2012-03-06 09:31:57

+0

您編輯的答案在Powershell中可用。謝謝你Vikram! – Sune 2012-03-06 10:09:07

12

而是寫echo $cars.lengthecho @($cars).length

+0

這幫了我很多。具有1個元素「$ packs.Count」的數組沒有返回任何東西。有幾個元素,它運作良好。將其更改爲「@($ packs).count」後,它也返回1。萬分感謝!你能解釋這種行爲嗎? – Hardoman 2017-04-13 13:46:31

相關問題