У меня есть проблема с случайным числом порождающего в C#Случайных числа каждый .next() вызов [Multiple .next() в методе]
Я перепробовал все решения, которые я нашел. В большинстве случаев мы используем один и тот же случайный объект каждый раз, когда работает только каждый объект, а не каждое свойство.
Так я использую это как код для случайных чисел:
private static readonly Random random = new Random();
private static readonly object syncLock = new object();
public static int RandomNumber(int min, int max)
{
lock (syncLock)
{ // synchronize
return random.Next(min, max);
}
}
Теперь я хочу назвать .Next()
несколько раз в тот же метод, чтобы генерировать случайный объект:
public void StartDuiven()
{
for (int i = 0; i <= 6; i++)
{
var d = new Duif();
d.Naam = /*NameGenerator.GenRandomFirstName() +" "+ NameGenerator.GenRandomLastName()*/ "Jantje";
d.GeboorteDatum = DateTime.Now;
d.Snelheid = Genrator.RandomNumber(0, 4);
d.Vliegtechniek = Genrator.RandomNumber(0, 4);
d.Vormpeil = Genrator.RandomNumber(0, 4);
d.Conditie = Genrator.RandomNumber(0, 4);
d.Aerodynamica = Genrator.RandomNumber(0, 4);
d.Intelligentie = Genrator.RandomNumber(0, 4);
d.Libido = Genrator.RandomNumber(0, 4);
d.Nachtvliegen = Genrator.RandomNumber(0, 4);
d.Navigatie = Genrator.RandomNumber(0, 4);
d.Ervaring = Genrator.RandomNumber(0, 4);
d.Transfer = false;
int g = Genrator.RandomNumber(0, 2); // Edited
if (g == 0)
d.Geslacht = false;
else
d.Geslacht = true;
AddDuif(d);
}
}
Каждый новый объект Я получаю другое число, но не каждый раз, когда я звоню. Next()
способ.
Таким образом, все значения свойств становятся одинаковыми для одного объекта.
Как я могу это исправить? Почему бы мне не получить новое значение для каждого звонка .Next()
?
Спасибо
Bye!
Alright я буду делать, что 0,2 тогда. Любая идея о том, что каждый вызов .Next() возвращает то же самое? –
+1 ответить ... @JonasBohez - случайные числа случайны, почему вы ожидаете, что они будут разными? Ваше ограничение «следующий номер не должно повторять предыдущий» делает для особого распространения, а не для обычного объекта Random. –
Nvm на последнем вопросе, это была моя собственная ошибка где-то в другом месте:/Спасибо за 0,2 редактирование, хотя –