2012-03-06 67 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

相关问题