if条件判断匹配两个订单类型常量的AND运算符使用问题
正确实现代码
if (SF_OrderType_textBox.Text == "HHC Medicaid" || SF_OrderType_textBox.Text == "HHC Rentals") { SF_Addl_Product_textBox.Text = PopulateNextField(Addl_Products_List, SF_Addl_Product_textBox.Text); }
原代码错误说明
- 多余的分号:
if(判断条件)末尾不应该添加;,分号会直接终止if语句的作用范围,导致后续大括号内的代码完全不受条件控制,无论判断结果是否成立都会执行。你之前的单条件判断代码看起来可以正常运行,本质是逻辑bug巧合匹配了你的预期。 - 运算符使用错误:
- 业务逻辑层面,你需要的是匹配两个订单类型中的任意一个,同一个文本框的字符串值不可能同时等于两个不同的常量,因此不能使用与逻辑相关的运算符,需要使用逻辑或运算符
|| &是按位与运算符,不适用于逻辑判断场景,即使需要做与逻辑判断也应该使用&&,同时每个判断条件必须完整书写,不能直接用运算符连接两个字符串常量
- 业务逻辑层面,你需要的是匹配两个订单类型中的任意一个,同一个文本框的字符串值不可能同时等于两个不同的常量,因此不能使用与逻辑相关的运算符,需要使用逻辑或运算符
内容的提问来源于stack exchange,提问作者Preet
相关产品推荐
相关产品推荐

