插入带位置的有序哈希表
Inserting into Ordered HashTable with Position
在 PowerShell 中,我有一个包含多个键和值的有序哈希表。根据代码,我向哈希表添加了一个值,但 PowerShell 将添加的键和值附加到列表的末尾。
例如,我的起始哈希表如下所示:
$Hashtable = [ordered]@{
A = 'a'
B = 'b'
C = 'c'
X = 'x'
Y = 'y'
Z = 'z'
}
现在,假设我想在 C = c
下方插入一个 D = d
的键。如果您 运行 a $Hashtable.add('D') = 'd'
那么 PowerShell 会将其附加到列表的底部。
是否有特定的哈希表命令可以让我在列表中准确指定应该放置 add 的位置?
PowerShell 的有序 hashtables are of .NET type System.Collections.Specialized.OrderedDictionary
, so you can use the latter's .Insert()
method,它允许您为插入指定(0
-based)目标索引:
$Hashtable = [ordered]@{
A = 'a'
B = 'b'
C = 'c'
X = 'x'
Y = 'y'
Z = 'z'
}
$Hashtable.Insert(3, 'D', 'd')
之后输出 $Hashtable
会产生以下结果,表明新的 D
条目已插入到现有 C
条目之后(从技术上讲,插入到 X
条目):
Name Value
---- -----
A a
B b
C c
D d # <- inserted entry, index 3 (4th pos.)
X x
Y y
Z z
在 PowerShell 中,我有一个包含多个键和值的有序哈希表。根据代码,我向哈希表添加了一个值,但 PowerShell 将添加的键和值附加到列表的末尾。
例如,我的起始哈希表如下所示:
$Hashtable = [ordered]@{
A = 'a'
B = 'b'
C = 'c'
X = 'x'
Y = 'y'
Z = 'z'
}
现在,假设我想在 C = c
下方插入一个 D = d
的键。如果您 运行 a $Hashtable.add('D') = 'd'
那么 PowerShell 会将其附加到列表的底部。
是否有特定的哈希表命令可以让我在列表中准确指定应该放置 add 的位置?
PowerShell 的有序 hashtables are of .NET type System.Collections.Specialized.OrderedDictionary
, so you can use the latter's .Insert()
method,它允许您为插入指定(0
-based)目标索引:
$Hashtable = [ordered]@{
A = 'a'
B = 'b'
C = 'c'
X = 'x'
Y = 'y'
Z = 'z'
}
$Hashtable.Insert(3, 'D', 'd')
之后输出 $Hashtable
会产生以下结果,表明新的 D
条目已插入到现有 C
条目之后(从技术上讲,插入到 X
条目):
Name Value
---- -----
A a
B b
C c
D d # <- inserted entry, index 3 (4th pos.)
X x
Y y
Z z