Implementando uma matriz esparsa em C # / maneira mais rápida de mapear inteiro para um número específico de intervalo / intervalo

Meu problema inicial é que preciso implementar uma matriz esparsa muito rápida em C #. A ideia original era usar umDictionary<uint, TValue> e envolvê-lo em minha própria classe para expor apenas oTValue parâmetro de tipo. Acontece que isso é bem lento.

Então, minha próxima idéia foi mapear cada número inteiro no intervalo necessário (UInt32.MinValue paraUInt32.MaxValue) para um balde de algum tamanho e use-o. Então, estou procurando uma boa maneira de mapear um número inteiro não assinado X para um intervalo Y, por exemplo:

Mapeando os números de 0 a 1023 a 8 diferentes baldes contendo 128 números cada, 0 a 127, 128 a 255.

Mas se alguém tiver uma maneira melhor de implementar uma matriz esparsa rápida em C #, isso seria muito apreciado também.

questionAnswers(2)

yourAnswerToTheQuestion