
Это гениально; я мог бы использовать это пару лет назад. Публикую это здесь для сохранности. Обратите внимание, что я НЕ использую класс random. Класс random не является по-настоящему случайным. Он основан на времени. Время предсказуемо.
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] result = new byte[8];
rng.GetBytes(result);
double rand = (double)BitConverter.ToUInt64(result, 0) / ulong.MaxValue;
//40 процентов шанса быть выбранным.
if (rand > 0.40d )
{
...
}
Автор: Чак Конвей специализируется на разработке программного обеспечения и генеративном ИИ. Свяжитесь с ним в социальных сетях: X (@chuckconway) или посетите его на YouTube.