gpt4 book ai didi

powershell - 空HashSet在返回时变为null

转载 作者:行者123 更新时间:2023-12-02 23:08:48 26 4
gpt4 key购买 nike

从函数返回空的HashSet会将对象变为null。是什么导致了这种现象,有什么办法可以解决呢?我不想到处都需要特殊的空集大小写(即现在必须是if ($set.Contains(something))而不是干净的if ($set -and $set.Contains(something)))。

function GetASet() {
$someSet = New-Object System.Collections.Generic.HashSet[int]
$someSet
}

[System.Collections.Generic.HashSet[int]]$set = GetASet
$set -eq $null # this is true

最佳答案

默认情况下,Powershell unrolls collections(尽管不是很一致)。您需要提示它在函数中显式返回collection:

  • @($someSet)
  • ,$someSet
  • Write-Output -NoEnumerate $someSet
  • 关于powershell - 空HashSet在返回时变为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50811278/

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