溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

VB.NET中變量作用域的作用是什么

發(fā)布時(shí)間:2021-07-20 11:36:14 來(lái)源:億速云 閱讀:104 作者:Leah 欄目:編程語(yǔ)言

VB.NET中變量作用域的作用是什么,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

在一個(gè)過(guò)程或函數(shù)外聲明的變量是全局變量,對(duì)本程序內(nèi)部所有的過(guò)程和函數(shù)都起作用;而在一個(gè)過(guò)程或函數(shù)內(nèi)部聲明的變量是局部變量,只對(duì)本過(guò)程或函數(shù)起作用。

下面通過(guò)一個(gè)例子說(shuō)明VB.NET變量作用域中全局變量和局部變量的區(qū)別。

例2.14(02-14.aspx)全局變量和局部變量的使用。

  1. < script language="vb" 
    runat="server"> 

  2. Dim strGlobal as String="global" 

  3. Sub SayHello  

  4. Dim strTemp as String="hello!" 

  5. Response.Write (strTemp & 
    "< br>")  

  6. Response.Write (strGlobal & 
    "< br>")  

  7. if strGlobal< >"" then  

  8. Dim strTemp1 as String=
    "hello cindy!" 

  9. Response.Write (strTemp1 
    & "< br>")  

  10. end if  

  11. 'Response.Write (strTemp1 
    & "< br>")  

  12. End Sub  

  13. < /script> 

  14. < %  

  15. SayHello  

  16. %> 

上面的例子中,有下面幾點(diǎn)需要說(shuō)明:

(1) 第2行聲明的變量strGlobal定義在所有的函數(shù)或者過(guò)程之外,所以是一個(gè)全局變量。由于在定義這個(gè)變量的時(shí)候就為這個(gè)變量賦值為“global”,所以,在后面的程序中,***次使用這個(gè)變量時(shí)這個(gè)變量的值就是“global”。

(2) 第3行~第12行定義了一個(gè)子過(guò)程SayHello。在這個(gè)過(guò)程中,首先在第4行定義了一個(gè)變量strTemp,由于這個(gè)變量是定義在子過(guò)程中的,所以這個(gè)變量是一個(gè)局部變量。在第5行顯示這個(gè)變量的值的時(shí)候,會(huì)顯示一個(gè)“hello!”字符串。

(3) 第6行要顯示strGlobal的值,由于這是一個(gè)全局變量,所以會(huì)顯示第1行賦值的“global”。

(4) 第7行~第10行定義了一個(gè)If/Endif代碼塊,在這個(gè)代碼塊中,定義了一個(gè)塊級(jí)局部變量strTemp1(第8行)。由于這個(gè)變量是定義在代碼塊中的,所以只在這個(gè)代碼塊中起作用。所以在第9行要顯示它的值的時(shí)候,會(huì)顯示“hello cindy!”。而如果取消第11行的注釋?zhuān)到y(tǒng)將會(huì)通告strTemp1變量沒(méi)有定義。

通過(guò)上面的例子可以看出,在編寫(xiě)程序的時(shí)候,要時(shí)刻注意VB.NET變量作用域的問(wèn)題。因?yàn)樵诓煌K中修改全局變量會(huì)導(dǎo)致模塊之間相互影響,違反了進(jìn)行模塊化程序設(shè)計(jì)的初衷。所以要設(shè)計(jì)好的程序,就應(yīng)該盡量減少全局變量的使用。

看完上述內(nèi)容,你們掌握VB.NET中變量作用域的作用是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI