使用NOT或<>是否更好?比较价值时?

时间:2008-12-15 20:00:36

标签: vbscript

使用NOT或使用<>是否更好?比较VBScript中的值?
是这样的:


If NOT value1 = value2 Then

或者这个:


If value1 <> value2 Then

更好?

编辑: 这是我的反驳。
在寻找逻辑上否定布尔值时,您将使用NOT运算符,因此这是正确的:


 If NOT boolValue1 Then

并且当在第一示例的情况下进行比较时,返回布尔值。要么值等于True,要么它们不是False。因此,使用NOT运算符是合适的,因为您在逻辑上否定了布尔值。

为了便于阅读,将比较放在括号中可能会有所帮助。

4 个答案:

答案 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关键字毫无意义。