Der "Index" ist bedeutungslos in einem HashSet
- es nicht ist garantiert Dasselbe gilt für die Reihenfolge der Anzeigen. Sie kann sich beim Hinzufügen und Entfernen von Einträgen im Laufe der Zeit ändern (auf nicht garantierte Weise, z. B. wenn Sie einen neuen Eintrag hinzufügen, der in der Mitte enden könnte, am Ende, am Anfang; Es könnte alles andere neu ordnen ...) Es gibt nicht einmal eine Garantie, dass Sie die gleiche Reihenfolge sehen, wenn Sie iter aß über den Satz mehrmals ohne Modifizierung zwischen den Zeiten, obwohl ich erwarten würde, dass in Ordnung zu sein.
können Sie erhalten den aktuellen Index mit so etwas wie:
var valueAndIndex = hashSet.Select((Value, Index) => new { Value, Index })
.ToList();
... aber Sie müssen sehr bewusst sein, dass der Index in dem Eintrag nicht angeboren ist, und ist im Grunde instabil .
'HashSet's Idee ist, dass die Reihenfolge der Elemente keine Rolle spielt. –