C#中如何实现TextBox多值判断?现有单值判断代码优化求助
多值密码判断的代码修改方案
嘿,我来帮你搞定这个多值判断的问题~你想要的那种直接用逗号分隔多个值的写法在C#里是不支持的,但有两种简单的方式可以实现你的需求:
方法一:使用逻辑或运算符(||)
这种方式最直观,适合密码数量不多的场景,直接把多个判断条件用||连接起来就行:
if (metroTextBox1.Text == "byby" || metroTextBox1.Text == "cow" || metroTextBox1.Text == "root") { Image img = Properties.Resources.Good_Pincode_48px; metroTextBox1.Icon = img; } else { Image img = Properties.Resources.Wrong_Pincode_48px; metroTextBox1.Icon = img; // new wrong().Show(); // 如果你需要弹出错误窗口可以取消注释 }
方法二:使用集合的Contains方法
如果以后可能需要添加更多密码,这种方式更易于维护——把所有合法密码放到一个集合里,然后用Contains方法判断输入是否在集合中:
// 定义合法密码集合,也可以把这个集合放到类的成员变量里复用 var validPasswords = new[] { "byby", "cow", "root" }; if (validPasswords.Contains(metroTextBox1.Text)) { Image img = Properties.Resources.Good_Pincode_48px; metroTextBox1.Icon = img; } else { Image img = Properties.Resources.Wrong_Pincode_48px; metroTextBox1.Icon = img; // new wrong().Show(); }
两种方法都能实现你要的效果,第二种方法在密码数量较多或者需要动态修改的时候更灵活哦~
内容的提问来源于stack exchange,提问作者user9745220
相关产品推荐
相关产品推荐

