gpt4 book ai didi

arrays - PowerShell 从数组中删除项目 [0]

转载 作者:行者123 更新时间:2023-12-03 15:05:26 27 4
gpt4 key购买 nike

我正在努力删除数组的第一行(项目 ID)。

$test.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array

列出我尝试过的所有选项 ,$test | gm并明确指出:
Remove         Method                void IList.Remove(System.Object value)                                                                                              
RemoveAt Method void IList.RemoveAt(int index)

所以当我尝试 $test.RemoveAt(0)我收到错误:
Exception calling "RemoveAt" with "1" argument(s): "Collection was of a fixed size."At line:1 char:1
+ $test.RemoveAt(1)
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : NotSupportedException

所以我终于找到了 here我的数组需要是 System.Object 类型能够使用 $test.RemoveAt(0) .将脚本开头的所有数组声明为列表是最佳实践吗?或者最好用 $collection = ({$test}.Invoke()) 转换数组稍后需要此功能时的列表?

两种类型的优缺点是什么?感谢您的帮助。

最佳答案

另一种选择是使用 Powershell 的功能 assign multiple variables (见 this other answer)。

$arr = 1..5
$first, $rest= $arr

$rest
2
3
4
5
十多年来,它一直是 Powershell 的一个功能。我从 an MSDN blog post 发现了这个功能:

关于arrays - PowerShell 从数组中删除项目 [0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com