2016-08-19 3 views
0

При выдаче типа данных для переменной, что делают дополнительные пустые квадратные скобки?Разница между [datatype] и [datatype []]

Например, при определении параметра для функции, я заметил эти два способ литья типа данных для этого параметра:

param(
    [string]$computername 
) 

против:

param(
    [string[]]$computername 
) 

Какой цель делает то пустые квадратные скобки во втором примере служат?

ответ

2

Параметр во втором примере принимает список строк (массив), параметр в первом примере содержит только одну строку.

Это работает в обоих случаях:

-computername 'foo' 

Это работает только во втором случае:

-computername 'foo', 'bar' 
+0

Ницца, так последующих вопрос: В чем разница между [массив] и [строка [] ]? Я предполагаю, что [array] может содержать несколько типов данных? –

+0

Исправить. '[string []]' - массив строк, '[array]' - массив без определенного типа элемента. –

0

[] обозначает массив. Таким образом, [string[]]$computername будет обозначать строковый массив из имени компьютера.