Frage

Ich möchte in der Lage sein, eine feste Hashmap von Say 100 Eimer zu erstellen, und wenn ich über 100 Artikel speichern muss, müssen Kollisionen und Überschreibungen einfach passieren. Die Hashtable -Klasse verfügt über eine Eigenschaft mit fixedSize, aber es ist readonly.

Denken Sie völlig falsch darüber nach oder gibt es eine Lösung dafür?

War es hilfreich?

Lösung

Sammlungen im .NET-Framework ermöglichen nicht viel Feinabstimmung. Obwohl Sie möglicherweise einen effizient genug für Ihre Bedürfnisse finden. Probieren Sie einige lebensfähige aus, bevor Sie optimieren.

Wenn Sie sich nicht selbst rollen, finden Sie möglicherweise eine Alternative der Drittanbieter mit mehr feinkörnigen Kontrollen. Zum Beispiel siehe Die C5 Generic Collection Library für C# und CLI als möglicher Start. Überprüfen Sie die Verschiedene Hash* -Kurse auf ihrer Dokumentationsseite.

Wenn Sie sich entscheiden, Ihre eigenen zu rollen, möchten Sie implementieren Einige der Standardschnittstellen Für Sammlungen und/oder Listen, Aufzählungen usw. funktionieren sie wie erwartet mit C# foreach und Sprache und .NET -Funktionen.

Sie können auch eine effiziente C ++ - Implementierung einnehmen, wenn Sie eine haben, und es gibt Möglichkeiten, sie in C#/. NET zu verwenden. Es mag ein bisschen funkeln, aber es gibt Antworten darüber, wie man so etwas erreicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top