请问下面的代码怎么修改?
if ((a = 1) || (4 <= a <= 5)||(a = 23))
                textBox5.Text = "***";
            else if (1 < a < 4)               
                textBox5.Text = "****";
            else if (5 < a < 23)                
                textBox5.Text = "*****";
我用的是c#,windows窗口程序编译,系统提示的是“<=”和“<”无法应用于bool和int的类型操作数
这个该怎么解决叻?

解决方案 »

  1.   

    if ((a = 1) || (4 <= a <= 5)||(a == 23))
     
      

  2.   

    错了 应该是
    if ((a == 1) || (4 <= a <= 5)||(a == 23))
     
      

  3.   

    +1 
    原因是,a=1和a=23 是赋值语句,a==23才是返回true/false的语句。所以会出现错误
      

  4.   

    最好这样 if ((a == 1) || (4 <= a && a <= 5)||(a == 23))
      

  5.   

    不能 4 <= a <= 5 这样写,
    必须这样写 4 <= a && a <= 5C#中,==是用来 判断相等  用的,=是 用来做赋值  用的
      

  6.   

    if ((a = 1) || (4 <= a &&a<= 5)||(a = 23))
      textBox5.Text = "***";
      else if (1 < a && a< 4)   
      textBox5.Text = "****";
      else if (5 < a&&a < 23)   
      

  7.   

    不能三个连着比较。两个两个的比用&&(和)连接。|| 是或者连接!
      

  8.   

    if ((a == 1) || (4 <= a && a <= 5)||(a == 23))
      

  9.   

    if ((a = 1) || (4 <= a&&a <= 5)||(a = 23))
      textBox5.Text = "***";
      else if (1 < a&&a < 4)   
      textBox5.Text = "****";
      else if (5 < a&&a < 23)   
      textBox5.Text = "*****";
      

  10.   

    在C#里,是不能用4 <= a <= 5,只有4 <= a && a <= 5 这样写才语法正确。