最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET中怎么操作局部變量

本篇文章為大家展示了VB.NET中怎么操作局部變量,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),武安企業(yè)網(wǎng)站建設(shè),武安品牌網(wǎng)站建設(shè),網(wǎng)站定制,武安網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,武安網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

VB.NET開發(fā)工具的出現(xiàn)對開發(fā)領(lǐng)域提供了一個全新的編寫方式。作為程序員來說,他們又多了一種編程語言的選擇,這是一件好事。我們知道,在類或者結(jié)構(gòu)初始化的時候, 成員變量***不要顯式賦以0、Nothing、False等初值,這樣不但沒有必要而且會降低性能。因為成員變量首先會被分配內(nèi)存空間,并且該內(nèi)存空間自動用“0”進(jìn)行初始化,因此顯式的賦值會增加指令操作而影響性能。

但如果是VB.NET局部變量呢?

一般情況下,如果不顯式初始化局部變量,局部變量會被自動也賦以空值、0、或者false。

  1. '例如以下代碼  

  2. Dim b As Boolean  

  3. Console.WriteLine(b)  

  4. Dim rnd1 As Random  

  5. If rnd1 Is Nothing Then  

  6. Console.WriteLine("yes")  

  7. End If  

  8. '最終會輸出:"false yes" 

不過對于引用類型的Random,編譯器會給出“ 變量“rnd1”在賦值前被使用??赡軙谶\行時導(dǎo)致 null 引用異常?!?的警告。值類型則沒有任何警告。

ok,再來看下這段VB.NET局部變量的代碼:

Module Module1Module Module1  Sub Main()Sub Main()  Dim rnd As New Random(1000)  For i As Integer = 0 To 4  Dim b As Boolean  Console.WriteLine(b)  If rnd.NextDouble > 0.5 Then  b = True End If  Next  End Sub  End Module

Module Module1

Sub Main()  Dim rnd As New Random(1)  For i As Integer = 0 To 9  Dim b As Boolean  Console.WriteLine(b)  If rnd.NextDouble < 0.5 Then  b = True End If  Next  For i As Integer = 0 To 9  Dim rnd1 As Random  If rnd1 Is Nothing Then  Console.WriteLine("yes")  Else  Console.WriteLine("no")  End If  rnd1 = New Random  Next  End Sub  End Module

照說每次循環(huán)都重新定義并初始化該VB.NET局部變量,期望的輸出值應(yīng)該一直都是false。

但猜猜實際最終輸出結(jié)果是什么,false,false,false,true,true??!

就是這個怪誕的行為讓我困擾了很久。

ok,我們看看對應(yīng)的il代碼:

  1. .method public static void Main
    () cil managed  

  2. {  

  3. .custom instance void [mscorlib]
    System.STAThreadAttribute::.ctor()  

  4. .entrypoint  

  5. .maxstack 2  

  6. .locals init (  

  7. [0] class [mscorlib]System.Random rnd,  

  8. [1] bool b,  

  9. [2] int32 i,  

  10. [3] bool VB$CG$t_bool$S0,  

  11. [4] int32 VB$CG$t_i4$S0,  

  12. [5] int32 num)  

  13. L_0000: nop   

  14. L_0001: ldc.i4 0x3e8  

  15. L_0006: newobj instance void 
    [mscorlib]System.Random::.ctor(int32)  

  16. L_000b: stloc.0   

  17. L_000c: ldc.i4.0   

  18. L_000d: stloc.2   

  19. L_000e: ldloc.1   

  20. L_000f: call void [mscorlib]System.
    Console::WriteLine(bool)  

  21. L_0014: nop   

  22. L_0015: ldc.i4.1   

  23. L_0016: stloc.1   

  24. L_0017: nop   

  25. L_0018: ldloc.2   

  26. L_0019: ldc.i4.1   

  27. L_001a: add.ovf   

  28. L_001b: stloc.2   

  29. L_001c: ldloc.2   

  30. L_001d: ldc.i4.4   

  31. L_001e: stloc.s num  

  32. L_0020: ldloc.s num  

  33. L_0022: ble.s L_000e  

  34. L_0024: ldc.i4.0   

  35. L_0025: stloc.s VB$CG$t_i4$S0  

  36. L_0027: ldloc.3   

  37. L_0028: call void [mscorlib]System.
    Console::WriteLine(bool)  

  38. L_002d: nop   

  39. L_002e: ldc.i4.1   

  40. L_002f: stloc.3   

  41. L_0030: nop   

  42. L_0031: ldloc.s VB$CG$t_i4$S0  

  43. L_0033: ldc.i4.1   

  44. L_0034: add.ovf   

  45. L_0035: stloc.s VB$CG$t_i4$S0  

  46. L_0037: ldloc.s VB$CG$t_i4$S0  

  47. L_0039: ldc.i4.4   

  48. L_003a: stloc.s num  

  49. L_003c: ldloc.s num  

  50. L_003e: ble.s L_0027  

  51. L_0040: nop   

  52. L_0041: ret   

上述內(nèi)容就是VB.NET中怎么操作局部變量,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享題目:VB.NET中怎么操作局部變量
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/jgehjg.html