Iterating through array of objects

Dec 6, 2016 at 10:06 AM
Edited Dec 6, 2016 at 10:10 AM
I tried to iterate HashSet for it's values. So I looked at https://referencesource.microsoft.com/#System.Core/System/Collections/Generic/HashSet.cs,773 and went accordingly.

It's needed to iterate through the m_slots, so I tried something like this
!wdo 000000c03a47b8b8
Address: 000000c03a47b8b8
Class Name: System.Collections.Generic.HashSet<BTDB.KVDBLayer.BTree.IBTreeRootNode>
Assembly Name: D:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll
..........
00007ffd20573920 System.Int32[] +0000 m_buckets 000000be3b882e60
00007ffd1dfa3298 System.Collections.Generic.HashSet_Slot< +0008 m_slots 000000be3b882d38
so
!wfrom -obj 000000be3b882d38 select $addr()
but it didn't work as it considers 000000be3b882d38 a root object and doesn't iterate over that.
Should I join !wselect and !wfrom somehow together?
!wfrom -obj (!wselect * from 000000be3b882d38) where (hashCode >= 0) select $addr()
I'm probably missing some fundamental piece, so sorry for dump questions :)
Regards, stej