如何使用 ||带有字符串值的运算符

本文关键字:字符串 运算符 何使用 | 更新日期: 2023-09-27 18:33:52

我有一个接受值 2、3 和 4 的变量mode。现在我的mode="2".有时我的模式值会更改为 3 和 4。我想在模式 = 2 和 3 时执行相同的操作。现在模式="2",但如果条件不进入断点。我的代码是沃龙吗??我的班级

public string resigadd(string mode) //set resignation
    {
        string data = "";
            if (if (mode== "2" || mode== "3"))
            {
                string data1;
            }
            else
            {
              //do something
            }
       rturn data;
      }

按钮点击

  protected void Submit_Click(object sender, EventArgs e)
    {
       string str = emp.resigadd(ddmode.SelectedItem.Value)   
     }

emp是"我的雇员"类的对象

如何使用 ||带有字符串值的运算符

我找不到代码的任何错误。如果模式的值为"2"或"3",则应执行 if 条件中的代码。这可能不起作用的唯一原因是 mode 是一个字符串变量,它可能在开头或结尾附加了一些空格。

试试这个代码:

if (mode.Trim() =="2"|| mode.Trim()=="3")
{
   string data1;
 }
else
{
} 

并尝试在 if 案例中抛出异常,这样您将知道 if 条件已执行。可能是VS或编译器的原因,为什么永远不会命中断点。

一个合理的问题可能是mode包含空格。使用 Trim() 尝试以下方法:

string[] Modes = new string[]{"2", "3", "4"};
string trimmedMode = mode.Trim();
if(Modes.Contains(trimmedMode))
{
    switch(trimmedMode)
    {
        case "2":
        case "3":
           //Handle case 2 and 3
           break;
        case "4":
           //Handle case 4
           break;
    }
}
<</div> div class="answers">

Plase 确保重建代码,并且您使用的mode变量不包含尾随空格和前导空格。使用修剪方法修剪前导空格和尾随空格。

 String mode="2";
 if (mode.Trim()=="2" || mode.Trim()=="3")
       {
           //do something
           string data1;
       }
       else
       {
          //do something here.
       }