Нерандомный рандом

Sanya330

Client
Регистрация
16.08.2020
Сообщения
302
Благодарностей
69
Баллы
28
Пользуюсь кубиком получить случайную строку из списка.
В списке 20 элементов, по факту в 75% случаев берутся элементы под номером 4,8,12
Можно ли как-то сделать рандом более уникальным?)
 
  • Спасибо
Реакции: djaga

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113

Sanya330

Client
Регистрация
16.08.2020
Сообщения
302
Благодарностей
69
Баллы
28

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

Sanya330

Client
Регистрация
16.08.2020
Сообщения
302
Благодарностей
69
Баллы
28

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Пользуюсь кубиком получить случайную строку из списка.
В списке 20 элементов, по факту в 75% случаев берутся элементы под номером 4,8,12
Можно ли как-то сделать рандом более уникальным?)
Попробуйте ещё вот такой вариант. Рандом всегда будет разный в любом случае.)

Рандом основанный на текущем времени и вспомагательном числе:
int numHelp = 10; // число, которое помогает рандомизировать.
Random random = new Random((int) DateTime.Now.Ticks & (0x0000FFFF + numHelp));
int res = random.Next(1,20);

project.SendInfoToLog(res.ToString(), true); // отправить в лог
Надеюсь он поможет не только вам, но ещё и остальному комьюнити.)

Приложил шаблон для тестов ↓.
 

Вложения

Sanya330

Client
Регистрация
16.08.2020
Сообщения
302
Благодарностей
69
Баллы
28
Попробуйте ещё вот такой вариант. Рандом всегда будет разный в любом случае.)

Рандом основанный на текущем времени и вспомагательном числе:
int numHelp = 10; // число, которое помогает рандомизировать.
Random random = new Random((int) DateTime.Now.Ticks & (0x0000FFFF + numHelp));
int res = random.Next(1,20);

project.SendInfoToLog(res.ToString(), true); // отправить в лог
Надеюсь он поможет не только вам, но ещё и остальному комьюнити.)

Приложил шаблон для тестов ↓.
Спасибо. Попробую генерировать число и получать строку под номером.
 
  • Спасибо
Реакции: djaga

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)