.NET 4.x Возвращает одну и ту строку,а при точке остановки разные - C#
Формулировка задачи:
Добрый день!
Проблема следующая: Есть генератор паролей, причем пробовал и просто методом, пробовал и отдельный статический класс и обычный класс - результат одинаковый.
Возвращается одна и та же строка.
Причем, если rnd вынести из метода, то все хорошо. Если в начале метода поставить точку остановки, то тоже все хорошо.
Если просто выполнять, то возвращается одна и та же строка, сколько бы раз я не вызывал. Если меняю входной параметр, то строка дополняется.
Не понимаю, почему так происходит.
public class Service
{
public string GenerateNewPassword(int length = 6)
{
string chars = "!@$%&ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random rnd = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++)
{
sb.Append(chars[rnd.Next(0, chars.Length)]);
}
return sb.ToString();
}
}Решение задачи: «.NET 4.x Возвращает одну и ту строку,а при точке остановки разные»
textual
Листинг программы
public class Service
{
static Random rnd = new Random();
const string chars = "!@$%&ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
public string GenerateNewPassword(int length = 6)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++)
{
sb.Append(chars[rnd.Next(0, chars.Length)]);
}
return sb.ToString();
}
}