Здесь мой HashSet сгенерирован, а также правильно заполнен, что видно по строке $ hashSet.Contains ("hi") . Единственная проблема в том, что я не могу перебирать эту строку HashSet и выводить уникальные строковые элементы только потому, что я использую метод Add () для заполнения строковых элементов.
Я пробовал оба способа, используя GetEnumerator () и Keys .
$hashSet = New-Object 'System.Collections.Generic.HashSet[string]';
$hashSet.Add("hi");
$hashSet.Add("hello");
$hashSet.Add("hi");
foreach ($h in $hashSet.GetEnumerator()) {
Write-Host "$($h.Name): $($h.Value)"
}
foreach ($h in $hashSet.Keys) {
Write-Host "${h}: $($hashSet.Item($h))"
}
$hashSet.Contains("hi")
Это результат, который я получаю.
PS C:\windows\system32\WindowsPowerShell\v1.0> C:\Users\SomeUser\powershell\HashsetInPowershell.ps1
True
True
False
:
:
True