gpt4 book ai didi

arrays - Powershell 阵列未清除

转载 作者:行者123 更新时间:2023-12-04 13:11:52 26 4
gpt4 key购买 nike

我的源代码:

# $arr = @(); results in same behaviour
$arr = New-Object System.Collections.ArrayList;

$arr.Count;
$arr += "z";

$arr.Count;
$arr.Clear();
$arr.Count;

输出:

0
1
1

最佳答案

当你这样做时,Powershell 会做一些数组转换技巧 += ,所以简单的解决方案是做 $arr.Add("z") .然后$arr.Clear()会像你期望的那样行事。

澄清:

  • @()是一个 Powershell 数组。它使用 += ,但你不能Clear它。 (但是,您可以再次执行 $arr = @() 以将其重置为空数组。)
  • ArrayList是.NET 集合。它使用 .Add , 你可以 Clear它,但出于某种原因,如果您 +=它,Powershell 做了一些奇怪的数组强制。 (如果有专家愿意对此发表评论,太棒了。)
  • 关于arrays - Powershell 阵列未清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13296031/

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