开发者社区> 问答> 正文

Array.Add与+ =

我在PowerShell数组中发现了一些有趣的行为,即,如果我将数组声明为:

$array = @() 然后尝试使用$array.Add("item")方法向其中添加项目,我收到以下错误:

异常调用带有“ 1”参数的“添加”:“集合的大小固定。”

但是,如果我使用附加项目$array += "item",则该项目将毫无问题地被接受,并且“固定大小”限制似乎并不适用。

为什么是这样?

展开
收起
保持可爱mmm 2020-02-06 23:01:59 429 0
1 条回答
写回答
取消 提交回答
  • 如果要动态调整大小的数组,则应列出列表。您不仅会获得.Add()功能,而且正如@ frode-f所解释的,动态数组无论如何都具有更高的内存效率和更好的实践。

    而且非常容易使用。

    代替您的数组声明,请尝试以下操作:

    $outItems = New-Object System.Collections.Generic.List[System.Object] 添加项目很简单。

    $outItems.Add(1) $outItems.Add("hi") 而且,如果在完成后确实想要一个数组,那么也有一个函数。

    $outItems.ToArray()

    问题来源于stack overflow

    2020-02-06 23:02:37
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载