if 语句不能在“bool”和“float”类型的运算符上应用运算符“<=”

0 c#

bool isMouseClicked;
bool Test;
float Number1;
float Number2;
float Number3;

isMouseClicked = true;
Number1 = -1;
Number2 = 0;
Number3 = 1; 

void Update()
{
   if (isMouseClicked && Number1 <= Number2 <= Number3)
   {
      Test = true;
   }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序时,它告诉我Operator '<=' cannot be applied to operands of type 'bool' and 'float'

Dav*_*vid 5

这:

Number1 <= Number2 <= Number3
Run Code Online (Sandbox Code Playgroud)

意思是这样的:

(Number1 <= Number2) <= Number3
Run Code Online (Sandbox Code Playgroud)

并且数字不能大于或小于布尔值。

基本上,您是从直观的人类语言的角度来思考这个问题的。不。从逻辑条件的角度来思考这个问题。你想表达什么条件?

你想表达的是:

Number1 <= Number2
Run Code Online (Sandbox Code Playgroud)

和这个:

Number2 <= Number3
Run Code Online (Sandbox Code Playgroud)

使用的语言说明了一切......“这个这个”。完全像这样组合操作:

Number1 <= Number2 && Number2 <= Number3
Run Code Online (Sandbox Code Playgroud)

因此,总的来说,每个逻辑操作都是其自己的独特条件被检查:

if (
  isMouseClicked
  && Number1 <= Number2
  && Number2 <= Number3
)
Run Code Online (Sandbox Code Playgroud)