开发者社区 问答 正文

Array.Add与+ =

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

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

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

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

为什么是这样?

展开
收起
保持可爱mmm 2020-02-06 23:01:59 441 分享
分享
版权
举报
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 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址: