自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

概述VB.NET Option Strict

開發(fā) 后端
這里介紹VB.NET Option Strict,包括介紹編譯器是否允許這種轉(zhuǎn)換,決定于VB.NET Option Strict的設(shè)置,如果Option Strict設(shè)置為On,試圖進(jìn)行隱式縮窄的類型轉(zhuǎn)換將會發(fā)生編譯錯(cuò)誤。

本文向大家介紹VB.NET Option Strict,可能好多人還不了解VB.NET Option Strict,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

VB.NET Option Strict和Option Explicit是針對編譯器的語句。作為程序員總是想在程序編譯期時(shí)候發(fā)現(xiàn)程序的錯(cuò)誤,而不愿在運(yùn)行期來發(fā)現(xiàn)。當(dāng)一個(gè)程序成功編譯以后,你可能會認(rèn)為該程序已經(jīng)通過所有編譯期的錯(cuò)誤檢查,不會再有其它錯(cuò)誤使你嚇一跳。然而事實(shí)上,程序運(yùn)行一次沒有錯(cuò)誤并不表明下次運(yùn)行時(shí)是否會發(fā)生錯(cuò)誤。因此,如果潛在的運(yùn)行期的錯(cuò)誤在編譯期被及時(shí)發(fā)現(xiàn),應(yīng)用程序?qū)⒆兊梅浅7€(wěn)定。Option Explicit語句決定編譯器是否要求所有的變量被顯式的聲明,語法如下:

Option Explicit

如果選擇On,則編譯器是否要求所有的變量被顯式的聲明,如果選擇Off,則編譯器是允許變量的隱式聲明。這樣以來,可不是一件好事,比如在代碼的編寫過程中,不小心敲錯(cuò)了變量名,由于編譯器允許變量的隱式聲明,所以在程序編譯的時(shí)候,是不會發(fā)生錯(cuò)誤的,但是在運(yùn)行期可能會發(fā)生不可預(yù)期的錯(cuò)誤。因此在代碼中最好不要用Option Explicit Off。Option Strict語句決定編譯器類型的隱式轉(zhuǎn)換方面的要求,語法如下:

VB.NET Option Strict

如果選擇On,則編譯器允許放寬的隱式類型轉(zhuǎn)換,如果選擇Off,則編譯器是不僅允許放寬的類型轉(zhuǎn)換,而且允許縮窄的類型轉(zhuǎn)換。對于放寬的類型轉(zhuǎn)換,一般不會發(fā)生數(shù)據(jù)的丟失或不正確的結(jié)果。例如,將一個(gè)整型(Integer)的變量轉(zhuǎn)換為長整型(Long)的變量是一個(gè)放寬的類型轉(zhuǎn)換,長整型可以包含所有整型變量的值。相反,從長整型向整型變量的轉(zhuǎn)換是一個(gè)縮窄的類型轉(zhuǎn)換,因?yàn)橐恍╅L整型的值是超出整型所表示的范圍的。

VB.NET默認(rèn)放寬的類型轉(zhuǎn)換。例如在下面的代碼的第二行中將會自動(dòng)發(fā)生放寬的類型轉(zhuǎn)換,賦值表達(dá)式右邊的變量自動(dòng)轉(zhuǎn)換為長整型變量,以便能保存到變量b中。

  1. Dim a As Integer = 5 
  2. Dim b As Long = a 

自動(dòng)發(fā)生的類型轉(zhuǎn)換,稱為“隱式類型轉(zhuǎn)換”。

現(xiàn)在來考慮相反的情況:

  1. Dim a As Long = 5 
  2. Dim b As Integer = a 

上面代碼的第二行,試圖進(jìn)行隱式縮窄的類型轉(zhuǎn)換。編譯器是否允許這種轉(zhuǎn)換,決定于VB.NET Option Strict的設(shè)置,如果Option Strict設(shè)置為On,試圖進(jìn)行隱式縮窄的類型轉(zhuǎn)換將會發(fā)生編譯錯(cuò)誤;設(shè)置為Off,編譯器將自動(dòng)在后臺進(jìn)行類型轉(zhuǎn)換。這樣在程序運(yùn)行時(shí),如果實(shí)際要轉(zhuǎn)換的值超出目標(biāo)類型的范圍,將會導(dǎo)致程序拋出異常。

對于某些程序,有時(shí)進(jìn)行縮窄的類型轉(zhuǎn)換是必要的。因此程序員可能知道某個(gè)變量進(jìn)行類型轉(zhuǎn)換時(shí),會超出目標(biāo)類型的范圍,而添加適當(dāng)?shù)拇a來處理可能發(fā)生的異常。這種情況可以通過適當(dāng)?shù)暮瘮?shù)來進(jìn)行顯式的類型轉(zhuǎn)換,例如:

  1. Dim a As Long = 5 
  2. Dim b As Integer = CInt(a) 

上面的變換即稱為“顯式的類型轉(zhuǎn)換”,因?yàn)槌绦騿T明確的要求進(jìn)行整型變換。注意盡管從表面上來看,上面的代碼與前面的“隱式類型轉(zhuǎn)換”相比,多了一次函數(shù)調(diào)用,但是編譯后的代碼是一樣的,所以執(zhí)行的效率和隱式類型轉(zhuǎn)換一樣。

【編輯推薦】

  1. 簡單分析VB.NET臨時(shí)文件
  2. 詳細(xì)描述VB.NET PadLeft方法
  3. VB.NET Shared變量經(jīng)驗(yàn)總結(jié)
  4. 全面講解VB.Net賦值語句
  5. 淺析VB.NET創(chuàng)建PPC客戶端程序
責(zé)任編輯:佚名 來源: IT專家網(wǎng)
相關(guān)推薦

2010-01-13 10:53:24

VB.NET控件

2009-10-14 16:04:43

VB.NET Noti

2009-10-13 14:38:10

VB.NET訪問類型

2010-01-15 10:47:15

VB.NET命名空間

2010-01-18 10:33:28

VB.NET基本函數(shù)

2010-01-15 18:30:50

VB.NET Dlli

2009-10-26 17:53:50

VB.NET新窗體

2009-10-14 09:29:43

VB.NET加密

2010-01-13 11:11:42

VB.NET Date

2010-01-14 13:35:36

VB.NET特殊操作符

2010-01-18 13:46:32

VB.NET條件分支語

2010-01-20 18:14:58

VB.NET數(shù)據(jù)類型

2009-10-20 08:39:57

VB.NET輸出函數(shù)

2009-10-28 14:00:02

VB.NET文件處理

2010-01-22 16:39:46

VB.NET添加自動(dòng)查

2010-01-13 11:03:13

VB.NET聲音播放

2010-01-07 15:42:57

VB.NET WhilEnd While循環(huán)

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-10-29 14:02:24

VB和VB.NET比較
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號