powershell – Hashtable与关于迭代的自定义对象数组
发布时间:2020-12-14 06:02:42 所属栏目:Java 来源:网络整理
导读:我经常编写事物列表并对它们执行枚举以执行一些get / set. 我讨厌枚举哈希表,因为每当我必须这样做时,我必须向后弯曲以使用哈希表对象. $hashtablelistofitems = @{}$hashtablelistofitems.add("i'm a key","i'm a value")foreach ($item in $hashtablelisto
我经常编写事物列表并对它们执行枚举以执行一些get / set.
我讨厌枚举哈希表,因为每当我必须这样做时,我必须向后弯曲以使用哈希表对象. $hashtablelistofitems = @{} $hashtablelistofitems.add("i'm a key","i'm a value") foreach ($item in $hashtablelistofitems.keys) { $item $hashtablelistofitems.item($item) } 相反,我通常会恢复使用具有两个noteproperties的自定义对象的单维数组. $array = @() $listofitems = "" | select key,value $listofitems.key = "i'm a key" $listofitems.value = "i'm a value" $array += $listofitems foreach ($item in $listofitems) { $item.key $item.value } 为什么我要在这个方法上使用哈希表?仅仅因为它只保证每个键的单个值? 解决方法
如果要存储键值列表而不创建包含具有两个属性(键/值)的自定义对象的数组,则应使用哈希表,主要有两个原因:
>您可能希望将哈希表传递给期望哈希表的函数. 注意: foreach ($item in $listofitems.GetEnumerator()) { $item.key $item.value } 此外,哈希表还带有您可能想要使用的方便方法: @{} | Get-Member | Where-Object MemberType -eq Method | Select Name 输出: Name ---- Add Clear Clone Contains ContainsKey ContainsValue CopyTo Equals GetEnumerator GetHashCode GetObjectData GetType OnDeserialization Remove ToString (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |