成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET局部靜態(tài)變量面面觀

開發(fā) 后端
VB.NET局部靜態(tài)變量的實質(zhì)內(nèi)容就是相當于一個類的字段,我們可以在這篇文章中為大家詳細介紹這一方面的基礎(chǔ)知識。

大家可能對VB.NET這樣一款功能強大的編程語言有所了解,因為其在開發(fā)領(lǐng)域中的應(yīng)用范圍還是比較廣泛的。首先我們可以從VB.NET局部靜態(tài)變量的相關(guān)介紹來詳細解讀這款語言給我們帶來的好處,并從中了解它的基本概念。#t#

經(jīng)過長時間學(xué)習(xí)VB.NET局部靜態(tài)變量,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。VB.NET能夠?qū)崿F(xiàn)很多C#不能做到的功能,如When語句、Optional參數(shù)、局部Static變量、對象實例訪問靜態(tài)方法、Handles綁定事件、On Error處理異常、Object直接后期綁定等等。VB和C#同屬.NET的語言,編譯出來的是同樣的CIL,但為什么VB支持很多有趣的特性呢。我們一起來探究一下VB.NET局部靜態(tài)變量。

VB支持用Static關(guān)鍵字聲明局部變量,這樣在過程結(jié)束的時候可以保持變量的數(shù)值:

 

  1. Public Sub Test1() Static i
     As Integer i += 1 
  2. '實現(xiàn)一個過程調(diào)用計數(shù)器 End Sub 

我們實現(xiàn)了一個簡單的過程計數(shù)器。每調(diào)用一次Test,計數(shù)器的數(shù)值就增加1。其實還有很多情況我們希望保持變量的數(shù)值。而C#的static是不能用在過程內(nèi)部的。因此要實現(xiàn)過程計數(shù)器,我們必須聲明一個類級別的變量。這樣做明顯不如VB好。因為無法防止其他過程修改計數(shù)器變量。這就和對象封裝一個道理,本來應(yīng)該是一個方法的局部變量,現(xiàn)在我要被迫把它獨立出來,顯然是不好的設(shè)計。那么VB是怎么生成局部靜態(tài)變量的呢?將上述代碼返匯編,我們可以清楚地看到在VB生成的CIL中,i不是作為局部變量,而是作為類的Field出現(xiàn)的:

 

  1. .field private specialname 
    int32 $STATIC$Test1$2001$i 

也就是說,i被改名作為一個類的字段,但被冠以specialname。在代碼中試圖訪問$STATIC$Test1$2001$i是不可能的,因為它不是一個有效的標識符。但是在IL中,將這個變量加一的代碼卻與一般的類字段完全一樣,是通過ldfld加載的。我覺得這個方法十分聰明,把靜態(tài)變量變成生命周期一樣的類字段,但是又由編譯器來控制訪問的權(quán)限,讓它成為一個局部變量。同時也解釋了VB為什么要用兩個不同的關(guān)鍵字來聲明靜態(tài)變量—— Static和Shared。

由于VB.NET局部靜態(tài)變量的實質(zhì)是類的字段,所以它和真正的局部變量還是有所不同的。比如在多線程條件下,對VB.NET局部靜態(tài)變量的訪問就和訪問字段相同。

責(zé)任編輯:曹凱 來源: IT168
相關(guān)推薦

2009-10-28 09:47:01

VB.NET局部靜態(tài)變

2009-07-21 13:01:07

ASP.NET上傳文件

2020-04-08 09:57:53

漏洞安全漏洞漏洞管理

2013-03-25 13:52:39

SDN軟件定義網(wǎng)絡(luò)Hybird

2009-10-12 14:13:00

VB.NET使用局部變

2009-12-30 15:10:44

摩卡

2019-09-11 17:16:34

DockerGitHubWindows

2011-05-30 17:31:26

自動化測試

2013-07-22 17:49:52

Ubuntu虛擬機

2023-03-24 07:31:58

Oracle兼容性產(chǎn)品

2009-02-16 09:47:00

IPTV技術(shù)多媒體運營

2010-09-01 17:13:56

無線局域網(wǎng)WLAN

2009-10-13 14:42:30

VB.NET靜態(tài)成員

2010-01-08 15:22:22

VB.NET局部變量

2010-07-08 10:03:39

動態(tài)語言PythonRuby

2022-02-22 06:11:46

數(shù)字化轉(zhuǎn)型企業(yè)云數(shù)據(jù)庫

2015-07-22 09:54:48

互聯(lián)網(wǎng)+發(fā)達國家

2009-07-14 10:56:21

MyEclipse快捷插件

2010-01-20 10:27:07

VB.NET隱式類型局

2010-01-21 10:57:12

VB.NET局部變量類
點贊
收藏

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

主站蜘蛛池模板: 日本一区二区三区免费观看 | 久久久久久久久蜜桃 | 99久久婷婷国产综合精品首页 | 亚洲国产中文字幕 | 亚洲毛片| 国产欧美精品 | 操操日| 成人免费视频网站在线看 | 久久久久久久久99 | 黄色免费网址大全 | av免费网站在线观看 | 国产亚洲精品成人av久久ww | 国产成人在线视频免费观看 | 91亚洲精 | 亚洲国产成人精品久久久国产成人一区 | 欧美精品一二区 | 欧美精品一区在线 | 国产精品视频yy9299一区 | 日本中文字幕在线观看 | 一区二区三区播放 | 日本免费一区二区三区 | 久久国产精品精品 | 精品久久久久久亚洲精品 | 国产精品亚洲一区二区三区在线 | 2019天天干天天操 | 在线一区二区观看 | 影音先锋中文字幕在线观看 | 97精品国产 | 久久久国产一区二区三区 | 成人午夜电影网 | 成人免费淫片aa视频免费 | 一区二区电影网 | 91久久婷婷 | 亚洲天堂中文字幕 | 男女啪啪网址 | 国产成人网 | 国产婷婷精品av在线 | 精品视频在线免费观看 | 中文字幕在线网 | 久热国产在线 | 欧美日韩在线免费观看 |