gpt4 book ai didi

powershell-3.0 - PowerShell 3.0 中 [ordered] 的正确名称是什么?

转载 作者:行者123 更新时间:2023-12-04 20:51:26 24 4
gpt4 key购买 nike

在 PowerShell 中,您可以使用方括号指定类型,如下所示:

PS C:\Users\zippy> [int]

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType

还有像 [xml] 这样的内置类型加速器,当您希望将某些内容转换为 XmlDocument 时,它可以节省一些按键操作。 .
PS C:\Users\zippy> [xml]

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False XmlDocument System.Xml.XmlNode

您可以通过以下两个命令之一生成列表:
  • PS v2.0 [type]::gettype("System.Management.Automation.TypeAccelerators")::Get
  • PS v3.0 [psobject].assembly.gettype("System.Management.Automation.TypeAccelerators")::Get

  • PowerShell 3.0 添加了一个名为 [ordered] 的运算符。虽然它不是类型别名。
    PS C:\Users\zippy> [ordered]
    Unable to find type [ordered]: make sure that the assembly containing this type is loaded.
    At line:1 char:1
    + [ordered]
    + ~~~~~~~~~
    + CategoryInfo : InvalidOperation: (ordered:TypeName) [], RuntimeException
    + FullyQualifiedErrorId : TypeNotFound

    但是,它可以转换 Hashtable转至 OrderedDictionary s。
    PS C:\Users\zippy> ([ordered]@{}).GetType()

    IsPublic IsSerial Name BaseType
    -------- -------- ---- --------
    True True OrderedDictionary System.Object

    所以我的问题是,如果 [ordered] 不是类型加速器,它是什么?

    最佳答案

    不幸的是[ordered]有点偏差。它既不是类型也不是加速器。它仅存在于解析器中,并被视为有关如何创建哈希表的提示(即不要使用哈希表,而是使用有序字典。)将其视为 .net 属性,除非它不是 :D

    关于powershell-3.0 - PowerShell 3.0 中 [ordered] 的正确名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10238698/

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