Array.Add () and += in PowerShell
1 2 | $newArray = @() $newArray.Add( "Hello" ) |
If I create a new array, and using the method Add(). Windows PowerShell will tell me :
1 | Exception calling "Add" with "1" argument(s): "Collection was of a fixed size." |
Reason:
When you use the $array.Add()
method, you're trying to add the element into the array. An array is a collection of fixed size, so you will recieve an error.
So, what should I do ?
Solution 1:
1 2 3 4 5 6 7 | $successfulArray = New-Object System.Collections.Generic.List[System.Object] $successfulArray.Add( "Hello" ) $successfulArray.Add( "World" ) # When you need array, you can transfer like: $successfulArray.ToArray() |
Also a more simple solution 2:
1 2 3 | $easyArray = @() $easyArray += "Hello" $easyArray += "World" |
PS creates a NEW array with the same elements as $array
+ the one(s) you're adding, and then it overwrites the original.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步