Я написал следующий код для генерации случайных чисел в диапазоне [0, int.MaxValue) , но я не знал, как ограничить диапазон до [0, randomMax) при сохранении равномерного распределения:
private static int GetNextInt32(this RNGCryptoServiceProvider random)
{
var buffer = new byte[sizeof(int)];
random.GetBytes(buffer);
return Math.Abs(BitConverter.ToInt32(buffer, 0));
}
Спасибо.