【问题标题】:OrderedDictionary key name at specified index指定索引处的 OrderedDictionary 键名
【发布时间】:2022-01-07 07:25:54
【问题描述】:

给定一个有序字典,我想获取索引 0 处的键。我当然可以做一个循环,获取第一次迭代的键并立即跳出循环。但我想知道是否有办法直接做到这一点? 我的 Google-Fu 没有出现任何东西,在黑暗中拍摄也失败了。我尝试过类似

$hash[0].Name

$hash.GetEnumerator()[0].Name

我发现this 讨论了在 C# 中执行此操作,这导致了这个

[System.Collections.DictionaryEntry]$test.Item(0).Key

但这也失败了。这只是无法完成的事情,还是我走错了路?

【问题讨论】:

    标签: powershell ordereddictionary array-indexing


    【解决方案1】:

    使用.Keys 集合:

    $orderedHash = [ordered] @{ foo = 1; bar = 2 }
    
    # Note the use of @(...)
    @($orderedHash.Keys)[0] # -> 'foo'
    

    注意:

    【讨论】:

    • 谢谢,@iRon。我在答案中添加了指向新问题的链接。可以说,为了保持一致性,即使 unordered 字典也应该具有可索引的 .Keys 属性(不知道是否会担心不必要的开销)。
    猜你喜欢
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2022-01-05
    • 1970-01-01
    • 2016-12-02
    • 2020-01-08
    • 2023-03-27
    相关资源
    最近更新 更多