运营商|| 不能应用于double和double类型的操作数

-4 c# double

我正在构建一个程序,必须检查多个变量中的任何一个是否为负数,但它告诉我运算符|| 不能应用于'double'和'double'类型的操作数.

if (ASUses || eleven52Uses || UreaUses || PotashUses || FillerUses<0)
{
   MessageBox.Show("Error: one or more of the desired outputs is negative");

}
Run Code Online (Sandbox Code Playgroud)

该问题仅存在于前两个变量中:

(ASUses || eleven52Uses)
Run Code Online (Sandbox Code Playgroud)

qqb*_*enq 5

试试这个:

if (ASUses<0 || eleven52Uses<0 || UreaUses<0 || PotashUses<0 || FillerUses<0)
Run Code Online (Sandbox Code Playgroud)

(假设所有变量都是双数而不是bool ...)

逻辑或运算符(||)只能应用于布尔值.虽然人类逻辑可以很容易地找出语法背后的含义,但遗憾的是,编译器只有在遵守语言规范时才能读取它.

另外:我会考虑编写一个函数来检查变量的有效性,而不是在if语句中使用这么多变量,因为维护这样的代码将非常困难.