.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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д