После пошаговой отладки F11 результат один, а без другой. В чем дело? - C#
Формулировка задачи:
Столкнулся со странной проблемой: в учебных целях создал массив строк, который заполняется случайными буквами, и если проводить пошаговой проход, то все нормально, выводит случайные буквы, но если запустить без останова программу, то результат другой.
При пошаговой, результат примерно такой всегда:
abcd
abbb
bcdd
cccb
Без останова такой:
bbbb
bbbb
bbbb
bbbb
сама программка:
Что происходит? Где я ошибся?
{
int j = 0, r=0;
char[] arrChars={'a','b','c','d','e'};
string[] arrayStrings=new string[4];
string st="";
textBox1.Text = "";
do
{
for (int i = 0; i <= 3; i++)
{
r = new Random().Next(0, 5);
st += arrChars[r];
}
arrayStrings[j] = st;
st = ""; j++;
}
while (j < 4);
for (int i = 0; i < arrayStrings.Length; i++)
textBox1.Text += arrayStrings[i] + "\r\n";
}Решение задачи: «После пошаговой отладки F11 результат один, а без другой. В чем дело?»
textual
Листинг программы
string[] arrayStrings=new string[4];
Random rnd = new Random(DateTime.Now.Millisecond);
for (int i = 0; i <= 3; i++)
arrayStrings[i] = string.Format("{0}{1}{2}{3}",
(char)rnd.Next(97, 102), (char)rnd.Next(97, 102),
(char)rnd.Next(97, 102), (char)rnd.Next(97, 102));
for (int i = 0; i < arrayStrings.Length; i++)
Console.WriteLine(arrayStrings[i]);
Console.Read();