Вы создаете свой первый экземпляр Random
с Random(100)
, то есть постоянным начальным числом. Так что он всегда будет возвращать одну и ту же последовательность. Это, в свою очередь, означает, что начальное число вашего второго экземпляра Random
также будет постоянным, и все значения, которые оно возвращает, тоже.
Просто создайте отдельный экземпляр Random
с конструктором по умолчанию, т.е. new Random()
. Это зависит от времени и, таким образом, вероятно, будет отличаться при разных запусках программы.
Предупреждение. Поскольку время изменяется только каждые несколько миллисекунд (1-16 мс на типичных компьютерах с Windows), если вы создадите несколько экземпляров Random
с конструктором по умолчанию в быстрой последовательности, они, скорее всего, будут возвращать одну и ту же последовательность.
Другая распространенная ошибка заключается в том, что Random
не является потокобезопасным. Но не похоже, что вы столкнетесь с этой проблемой.
string[] listaCantadas;
Random r;//No need for more than one instance
public MainPage()
{
InitializeComponent();
listaCantadas = new string[]
{"//set of quotes
};
r = new Random();
}
//click event for display a random quote
int Cantada = r.Next(0, listaCantadas.Length - 1);
txtBlockCantada.Text = listaCantadas[Cantada];
});
}