ren*_*egm 5 syntax powershell properties hashtable key
Hashtable在 PowerShell 中,您可以使用以下属性获取所有密钥Keys:
$ht=@{
"1"="10";
"2"="20";
}
$ht.Keys
Run Code Online (Sandbox Code Playgroud)
这将返回:
2
1
Run Code Online (Sandbox Code Playgroud)
但是这个:
$ht=@{
"Keys"="Keys text";
"text1"="text1111"
}
$ht.Keys
Run Code Online (Sandbox Code Playgroud)
将返回Keys text(项目的值Keys)
有没有办法强制.Keys返回Keys属性而不是Keys项目的值?
这似乎是一个错误,因为检索条目的语法Keys正在取代 的HashTable属性Keys,尽管我可以看到有人期望它以任何一种方式表现。根据GitHub 上的向哈希表添加“键”键会破坏对 .Keys 属性的访问问题,这是一个错误,但需要进行重大更改才能纠正,因此将以下解决方法添加到文档中。
如果键名称与 HashTable 类型的属性名称之一冲突,您可以使用
PSBase来访问这些属性。例如,如果键名称是,keys并且您想要返回键的集合,请使用以下语法:
$hashtable.PSBase.Keys
您还可以通过反射检索属性值...
PS> $ht.GetType().GetProperty('Keys').GetValue($ht)
text1
Keys
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16849 次 |
| 最近记录: |