Powershell數(shù)組一般具有多態(tài)性,如果你不指定元素的具體類型,解釋器會(huì)自動(dòng)選擇合適的類型存儲(chǔ)每個(gè)元素。如果要統(tǒng)一限制所有元素的類型,可是使用類型名和一對(duì)方括號(hào)作為數(shù)組變量的類型。這樣每當(dāng)賦值時(shí),會(huì)自動(dòng)類型檢查。如果目標(biāo)數(shù)據(jù)類型不能轉(zhuǎn)換成功,就會(huì)拋出一個(gè)異常。
PS C:Powershell> [int[]] $nums=@()
PS C:Powershell> $nums+=2012
PS C:Powershell> $nums+=12.3
PS C:Powershell> $nums+="999"
PS C:Powershell> $nums+="can not convert"
Cannot convert value "can not convert" to type "System.Int32". Error: "Input string was not in a correct format."
At line:1 char:6
+ $nums +="can not convert"
+ CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException
+ FullyQualifiedErrorId : RuntimeException