使用NOT或使用<>是否更好?比较VBScript中的值?
是这样的:
If NOT value1 = value2 Then
或者这个:
If value1 <> value2 Then
更好?
编辑:
这是我的反驳。
在寻找逻辑上否定布尔值时,您将使用NOT运算符,因此这是正确的:
If NOT boolValue1 Then
并且当在第一示例的情况下进行比较时,返回布尔值。要么值等于True,要么它们不是False。因此,使用NOT运算符是合适的,因为您在逻辑上否定了布尔值。
为了便于阅读,将比较放在括号中可能会有所帮助。
答案 0 :(得分:41)
后者(<>
),因为除非您完全理解适用于Not
和=
的操作顺序,否则前者的含义不明确运营商:一个容易错过的微妙之处。
答案 1 :(得分:1)
同意,代码可读性对其他人来说非常重要,但更重要的是你自己。想象一下,与第二个例子相比,理解第一个例子是多么困难。
如果代码需要花费几秒钟来阅读(理解),也许有更好的方法来编写代码。在这种情况下,第二种方式。
答案 2 :(得分:1)
因为&#34;不是...... =&#34;是两个操作和&#34;&lt;&gt;&#34;只有一个,使用起来更快&#34;&lt;&gt;&#34;。
这是一个快速实验来证明它:
StartTime = Timer
For x = 1 to 100000000
If 4 <> 3 Then
End if
Next
WScript.echo Timer-StartTime
StartTime = Timer
For x = 1 to 100000000
If Not (4 = 3) Then
End if
Next
WScript.echo Timer-StartTime
我在机器上得到的结果:
4.783203
5.552734
答案 3 :(得分:0)
第二个例子是可以使用的,不仅仅是为了可读性,而是因为在第一个例子中,If NOT value1将返回一个布尔值以与value2进行比较。 IOW,您需要将该示例重写为
If NOT (value1 = value2)
只是使用NOT关键字毫无意义。