Задача: Нужно сгенерировать случайное число
Инструменты: C#
Решение: Для генерации случайных чисел воспользуемся классом Random или RNGCryptoServiceProvider
Если Вам подходит генерация псевдо-случайных чисел, можно воспользоваться классом Random. При создании более одного случайного числа все же предпочтительно создать один раз экземпляр класса Random, и потом генерировать новые значения с помощью метода random.Next(). Потому что если между созданиями экземпляров класса будет небольшой промежуток времени у Вас будут повторяющиеся случайные чисел.
Рассмотрим несколько примеров:
Random rnd = new Random();
int randomNumber1 = random.Next();
int randomNumber2 = rnd.Next(1, 6); // генерация случайного чисела от 1 до 5
int randomNumber3 = rnd.Next(91); // генерация случайного чисела от 0 до 90
Code language: JavaScript (javascript)
Для генерации «безопасных» случайных чисел нам нужно использовать класс RNGCryptoServiceProvider.
Рассмотрим пример использования.
using System.Security.Cryptography;
...
using (var generatorProvider = new RNGCryptoServiceProvider())
{
var data = new byte[4]; // 4 для int32
generatorProvider.GetBytes(data);
var randomValue = BitConverter.ToInt32(data, 0);
}
Code language: JavaScript (javascript)
PS: Если вы хотите сгенерировать случайное значение в Unity, Вам нужно проверить чтобы использовалось правильные пространство имен, а именно System.Random, потому что в Unity есть UnityEngine.Random, в котором нет возможности генерировать случайные значения.