2012-04-20 33 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。

相關問題