【问题标题】:I'm not sure what Option explicit means? [duplicate]我不确定 Option explicit 是什么意思? [复制]
【发布时间】:2011-02-21 01:53:28
【问题描述】:

可能重复:
what’s an option strict and explicit?

是否区分大小写?在这里完成菜鸟。

【问题讨论】:

  • Option Explicit 是我教给我的学生的单行代码,如果他们在期末考试中忘记了这一点,无论其余代码的质量如何,他们都会失败。但是,是的,重复。
  • @LasseV.Karlsen 这个问题是关于 VBScript 的,这个问题与 VB.Net 有关,这会导致混淆,因为声明变量的语法不同。
  • 这可能是真的,但它仍然是相同的核心答案,它会强制您声明所有变量。
  • @LasseV.Karlsen 仍然让​​那些寻找 VBScript 特定答案的人感到困惑,您只需查看answer given here 就会增加与 VB.Net 示例的混淆。 VBScript 也没有 Option Strict 的概念,只有 Option Explicit

标签: scripting vbscript option-explicit


【解决方案1】:

根据MSDN

在文件级别用于强制显式声明该文件中的所有变量。

否则,您可以直接使用变量而无需先声明它。

他们甚至包括了一个例子:

Option Explicit On   ' Force explicit variable declaration.
Dim MyVar   ' Declare variable.
MyInt = 10   ' Undeclared variable generates error.
MyVar = 10   ' Declared variable does not generate error.

【讨论】:

  • 它允许您在第一次使用时“声明”变量。在上面的示例中,MyInt 只需在没有 Dim 语句的情况下使用它就变成了一个变量。如果可以,请始终使用 Option Explicit,它会为您省去很多麻烦。 Dim 是显式变量声明,上面的 MyInt 是隐式声明。
【解决方案2】:

When option explicit is off visual basic allows you to implicitly declare a variable by assigning a value to it.这是一个非常糟糕的主意,因为拼写错误的变量名会默默地创建一个新变量,从而导致很难找到错误。

Option Explicit Off
Imports System
Public Class ImplicitVariable
 Public Shared Sub Main()
  a = 33
  Console.WriteLine("a has value '{0}' and type {1}", a, a.GetType())
 End Sub
End Class

【讨论】:

  • VBScript 不支持Imports 语句。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-12
  • 2015-01-22
  • 2020-10-27
  • 2015-07-15
  • 2018-07-17
  • 2012-08-13
  • 2011-12-23
相关资源
最近更新 更多