Если вы знаете максимальное значение вашего набора ключей (kmax), вы можете увеличить его на постоянный множитель (множитель), скажем, умножить на фиксированное простое число, которое удерживает произведение ниже максимального целочисленного размера (2 ^ 31 - 1) :
т.е. ближайшее простое число к (2^30) / kmax
Примечание : убедитесь, что используемое простое число не совпадает с количеством сегментов в хэш-таблице.
Вот еще одно решение: Поскольку класс .NET Random будет генерировать одно и то же значение для того же начального числа, вы можете использовать это для распределения входящих ключей.