Normally, we apply the Hasse table to quickly obtain the value based on the key value.
However, sometimes we need to obtain the key value based on the value, which can be obtained in the following way:
''' <Summary>
''' Obtain the key value based on the value in the Hasse table.
''' </Summary>
''' <Param name = "value"> value </param>
''' <Param name = "phash"> Hasse table </param>
''' <Returns> list of key values </returns>
''' <Remarks> </remarks>
Private function gethashkey (byval value as object, byval phash as hashtable) as List (of object)
Dim objectlist as new list (of object)
Dim pelementlist as new list (of ielement)
Dim penumerator as idictionaryenumerator = phash. getenumerator
Penumerator. Reset ()
Penumerator. movenext ()
While 1
If value is penumerator. value then
Pelementlist. Add (penumerator. Key)
Objectlist. Add (penumerator. Key)
End if
If not penumerator. movenext () Then exit while
End while
Return objectlist
End Function