日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
概述VB.NETOptionStrict

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

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

Option Explicit

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

VB.NET Option Strict

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

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

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

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

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

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

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

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

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

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


本文名稱(chēng):概述VB.NETOptionStrict
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dpcjhoc.html