Performance “做”;Ors";计算整个表达式?
假设我有以下语句逻辑(本例中我将使用VBA,但它也适用于其他语言)Performance “做”;Ors";计算整个表达式?,performance,optimization,logic,Performance,Optimization,Logic,假设我有以下语句逻辑(本例中我将使用VBA,但它也适用于其他语言) 编译器或执行程序是否发现第一个值为真,然后继续执行代码,还是结束语句的其余部分 我认为在vba中也可以使用OrElse “Or”(按位比较)始终完成语句的其余部分,“OrElse”(逻辑比较)在满足要求时停止。 在C++、C语言和java语言中,可以使用‘^’和‘```。 例如,如果对象为null或object.value=”“由于试图从空对象访问字段,当对象为空时,将导致null异常 使用OrElse时,如果对象为空,则求值O
编译器或执行程序是否发现第一个值为真,然后继续执行代码,还是结束语句的其余部分 我认为在vba中也可以使用OrElse “Or”(按位比较)始终完成语句的其余部分,“OrElse”(逻辑比较)在满足要求时停止。 在C++、C语言和java语言中,可以使用‘^’和‘```。 例如,
如果对象为null或object.value=”“
由于试图从空对象访问字段,当对象为空时,将导致null异常
使用OrElse时,如果对象为空,则求值
OrElse object.value=”“
将在求值空对象时在第一次比较时停止。我认为在vba中也可以使用OrElse
“Or”(按位比较)始终完成语句的其余部分,“OrElse”(逻辑比较)在满足要求时停止。
在C++、C语言和java语言中,可以使用‘^’和‘```。
例如,如果对象为null或object.value=”“
由于试图从空对象访问字段,当对象为空时,将导致null异常
使用OrElse时,如果对象为空,则求值
OrElse object.value=”“
将在求值空对象时在第一次比较时停止。我认为在vba中也可以使用OrElse
“Or”(按位比较)始终完成语句的其余部分,“OrElse”(逻辑比较)在满足要求时停止。
在C++、C语言和java语言中,可以使用‘^’和‘```。
例如,如果对象为null或object.value=”“
由于试图从空对象访问字段,当对象为空时,将导致null异常
使用OrElse时,如果对象为空,则求值
OrElse object.value=”“
将在求值空对象时在第一次比较时停止。我认为在vba中也可以使用OrElse
“Or”(按位比较)始终完成语句的其余部分,“OrElse”(逻辑比较)在满足要求时停止。
在C++、C语言和java语言中,可以使用‘^’和‘```。
例如,如果对象为null或object.value=”“
由于试图从空对象访问字段,当对象为空时,将导致null异常
使用OrElse时,如果对象为空,则求值
OrElse object.value=”“
将在求值空对象时在第一次比较时停止。我不能代表VBA,但我可以说它是特定于语言的。在某些语言中,程序员能够使用“短路”和或表达式。短路是指如果结果已经确定,则不再计算布尔表达式的过程
如果使用短路AND,如果发现FALSE,布尔运算将提前停止。如果使用短路OR,如果找到TRUE,布尔运算将提前停止
例如,在Java中:
a | | b
是短路或短路故障
a | b
是一个非短路或非短路电路
a&&b
是一个短路和
a&b
是一个非短路和
有些人可能会问,“为什么我会使用非短路AND或or?”当您调用一个返回布尔值的函数时,就会出现这种情况,您希望在任何情况下都运行该函数。例如,
a()| b()
将同时运行函数a和函数ba()| | b()
仅在a返回false时运行函数b。我不能代表VBA说话,但我可以说它是特定于语言的。在某些语言中,程序员能够使用“短路”和或表达式。短路是指如果结果已经确定,则不再计算布尔表达式的过程
如果使用短路AND,如果发现FALSE,布尔运算将提前停止。如果使用短路OR,如果找到TRUE,布尔运算将提前停止
例如,在Java中:
a | | b
是短路或短路故障
a | b
是一个非短路或非短路电路
a&&b
是一个短路和
a&b
是一个非短路和
有些人可能会问,“为什么我会使用非短路AND或or?”当您调用一个返回布尔值的函数时,就会出现这种情况,您希望在任何情况下都运行该函数。例如,
a()| b()
将同时运行函数a和函数ba()| | b()
仅在a返回false时运行函数b。我不能代表VBA说话,但我可以说它是特定于语言的。在某些语言中,程序员能够使用“短路”和或表达式。短路是指如果结果已经确定,则不再计算布尔表达式的过程
如果使用短路AND,如果发现FALSE,布尔运算将提前停止。如果使用短路OR,如果找到TRUE,布尔运算将提前停止
例如,在Java中:
a | | b
是短路或短路故障
a | b
是一个非短路或非短路电路
a&&b
是一个短路和
a&b
是一个非短路和
有些人可能会问,“为什么我会使用非短路AND或or?”当您调用一个返回布尔值的函数时,就会出现这种情况,您希望在任何情况下都运行该函数。例如,
a()| b()
将同时运行函数a和函数ba()| | b()
仅在a返回false时运行函数b。我不能代表VBA说话,但我可以说它是特定于语言的。在某些语言中,程序员能够使用“短路”和/或exp
x = 1
y = 2
z = 1000
If x = 1 Or y = 2 Or z = 4 Then
Execute Code
End