C# Switch сравнивает строки с помощью ORC#

Место общения программистов C#
Ответить
Anonymous
 C# Switch сравнивает строки с помощью OR

Сообщение Anonymous »

Я пытаюсь сделать двойную проверку двух функций, но как это сделать через переключатель:

pwdStrength.SetPassword(text_passmysql.Text);
pwdStrength1.SetPassword(text_adminpass.Text);

switch (pwdStrength.GetPasswordStrength() || pwdStrength1.GetPasswordStrength())
{
case "Very Weak":
case "Weak":
// Show an error message to the user
MessageBox.Show("A password do MySQL é muito fraca, escolha um mais forte.\nApenas pode alterar a password MySQL para uma mais forte, caso contrário não será guardada.", "Configurações do Programa", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
case "Good":
case "Strong":
case "Very Strong":
// Password deemed strong enough, allow user to be added to database etc
//do something
break;
}


Как мне работать с приведенным выше примером?

Спасибо

РЕДАКТИРОВАТЬ: Все работает! Спасибо @Nyerguds.

После редактирования кода мне удалось работать с решением, опубликованным @Nyerguds.

Спасибо всем

Решение:

pwdStrength.SetPassword(text_passmysql.Text);
pwdStrength1.SetPassword(text_adminpass.Text);

PassStrength strSql = (PassStrength)Enum.Parse(typeof(PassStrength), pwdStrength.GetPasswordStrenght1());
PassStrength strAdm = (PassStrength)Enum.Parse(typeof(PassStrength), pwdStrength1.GetPasswordStrenght1());

PassStrength lowest = (PassStrength)Math.Min((Int32)strSql, (Int32)strAdm);

if ((Int32)lowest < (Int32)PassStrength.Good)
{
// Show an error message to the user
MessageBox.Show("A password do MySQL é muito fraca, escolha um mais forte.\nApenas pode alterar a password MySQL para uma mais forte, caso contrário não será guardada.", "Configurações do Programa", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// Password deemed strong enough, allow user to be added to database etc
}


Новая функция:

enum PassStrength
{
Unchecked = 0, // Enums should always have an empty value for initialisation.
VeryWeak = 1,
Weak = 2,
Good = 3,
Strong = 4,
VeryStrong = 5
}

public string GetPasswordStrenght1()
{
string valor = GetPasswordStrength();

switch(valor)
{
case "Very Weak":
return Convert.ToString(PassStrength.VeryWeak);
case "Weak":
return Convert.ToString(PassStrength.Weak);
case "Good":
return Convert.ToString(PassStrength.Good);
case "Strong":
return Convert.ToString(PassStrength.Strong);
case "Very Strong":
return Convert.ToString(PassStrength.VeryStrong);
default:
return Convert.ToString(PassStrength.Unchecked);
}
}


Подробнее здесь: https://stackoverflow.com/questions/483 ... gs-with-or
Ответить

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

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

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

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

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