Мой код C# для создания нового пароля не работает [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Мой код C# для создания нового пароля не работает [дубликат]

Сообщение Anonymous »

Я пытаюсь создать код, который создает пароль длиной более 8 и содержит хотя бы один символ, но когда я запускаю этот код, он продолжает циклически выполнять условие символов, даже если пароль их содержит.
так в чем именно проблема. и заранее спасибо

Код: Выделить всё

 internal class Program
{
public static bool ContainSpaecial(string password)
{
string special = $"!@#$%^&*|/?`~';:()_+-=";

bool contains = password.Contains(special);
return contains;

}
static void Main(string[] args)
{
Console.WriteLine("please enter a password: ");
string password = Console.ReadLine();
string passwordcf;
bool containssymbol = ContainSpaecial(password);

while (password.Length < 8 ||  containssymbol == false)
{

if (string.IsNullOrEmpty(password))
{
Console.Write("please enter a password: ");
password = Console.ReadLine();
containssymbol = ContainSpaecial(password);
}
else if (password.Length < 8)
{
Console.Write("password is short, please try again: ");
password = Console.ReadLine();
containssymbol = ContainSpaecial(password);
}
else
{
Console.Write("password must contain one symbol at least: ");
password = Console.ReadLine();
containssymbol = ContainSpaecial(password);

}
}
Console.Write("please enter password again to confirm: ");
passwordcf = Console.ReadLine();
while (passwordcf != password)
{
if (!string.IsNullOrEmpty(passwordcf))
{
Console.Write("passwords does not match, please try again: ");
passwordcf = Console.ReadLine();
}
else
{
Console.Write("please enter password again to confirm: ");
passwordcf = Console.ReadLine();
}
}
Console.WriteLine("password created successfully!");

}
}
Я думаю, что логическое значение containssymbol (это логическое значение, которое я создал, чтобы проверить, содержит ли пароль символы или нет) не может измениться с false на true, поэтому цикл while продолжает зацикливаться, но я не знаю, как это изменить, если я был прав с самого начала.

Подробнее здесь: https://stackoverflow.com/questions/793 ... nt-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»