Implementieren eines spärlichen Arrays in C # / schnellste Methode zum Zuordnen einer Ganzzahl zu einer bestimmten Bucket- / Bereichsnummer

Mein erstes Problem ist, dass ich ein sehr schnelles, spärliches Array in C # implementieren muss. Ursprüngliche Idee war, ein normales @ zu verwendDictionary<uint, TValue> und packe es in meine eigene Klasse, um nur das @ freizulegTValue type Parameter. Es stellt sich heraus, dass dies ziemlich langsam ist.

So war meine nächste Idee, jede ganze Zahl im benötigten Bereich abzubilden UInt32.MinValue zuUInt32.MaxValue) zu einem Eimer von einiger Größe und benutze diesen. Also suche ich nach einer guten Möglichkeit, eine vorzeichenlose Ganzzahl X einem Bucket Y zuzuordnen, zum Beispiel:

Zuordnen der Nummern 0-1023 zu 8 verschiedenen Eimern mit jeweils 128 Nummern (0-127, 128-255).

Aber wenn jemand eine bessere Möglichkeit hat, ein schnelles Array mit geringer Dichte in C # zu implementieren, wäre dies auch sehr zu begrüßen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage