2012-04-20 34 views
0

它所做的只是让我必须对每个变量进行调整,如果我忘记调暗一个变量,就会导致编译错误。使用“option explict”的优点是什么?

是否有任何优点使用它?

+10

一个更合适的问题是,有没有什么缺点?编译器错误和警告存在是有原因的。 – 2012-04-20 00:36:03

+2

你真的在问这个吗? **是**,使用选项明确!每次! – 2012-04-20 00:42:24

+0

并且Option Explicit默认情况下也有很好的理由。 – TLS 2012-04-20 00:46:04

回答

5

是的,它会防止某些类型的错误。 其中最明显的一个是,如果您输入拼写错误并错误地拼写变量名称,则会标记错误输入的变量不存在。

3

如果不使用Option Explicit语句,所有未声明的变量 是Object类型的。

裁判:http://msdn.microsoft.com/en-us/library/y9341s4f(v=vs.80).aspx

想想这将如何影响GC,现在应该存储在线程栈中所有的值类型存储在托管堆上,并受到垃圾收集。这可能听起来不是很大,但GC必须检查值类型是否具有根引用以及所有引用类型。它会对GC产生显着的性能影响,因为所有的值类型都会在0,1,2代被提升,而不仅仅是引用类型。

1

我看到必须将每个变量调暗为一个大的专业人员。我无法告诉你我试过多少次运行一个错误,以发现我错误地拼写了一个变量,如果已打开“Option Explicit”,将找到该变量。

P.S.始终使用Option Explicit。

相关问题