首页 > 解决方案 > 对常量顺序类型值使用和运算符

问题描述

专家们,我有一个问题,我想在检查 if 语句时组合两个常量值。一种带有 IF 的订单类型正在工作,但我需要检查两种订单类型。两者都有相同的产品列表。

一种订单类型的现有代码工作

 if (SF_OrderType_textBox.Text == "HHC Medicaid");
        {
            SF_Addl_Product_textBox.Text = PopulateNextField(Addl_Products_List, SF_Addl_Product_textBox.Text);
        }

想用两种订单类型实现以下 - 但不工作

 if (SF_OrderType_textBox.Text == "HHC Medicaid"&"HHC Rentals");
        {
            SF_Addl_Product_textBox.Text = PopulateNextField(Addl_Products_List, SF_Addl_Product_textBox.Text);
        }

此 AND(&) 运算符不起作用。你能告诉我正确的语法是什么吗?

谢谢

标签: c#selenium-webdriver

解决方案


如果您想对&两个字符串执行逻辑与,那么条件将始终为假,是吗?

(a == "a" & a == "b")

错误的

也许您正在寻找逻辑或|

(a == "a" | a == "b")

真的

还要看看短路 OR||

(a == "a" || a == "b")

是的,但只评估第一个语句,因为满足 OR 条件

将其应用于您的代码,简单地说

if (SF_OrderType_textBox.Text == "HHC Medicaid" || SF_OrderType_textBox.Text == "HHC Rentals");

如果您有这些 HHC 类型的列表,您可以将它们放在一个数组中以使您的代码更具可扩展性。

var hhcTypes = new string[] { "HHC Medicaid", "HHC Rentals" };
if (hhcTypes.Contains(SF_OrderType_textBox.Text))

推荐阅读