溫馨提示×

溫馨提示×

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

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

VB.NET生存期開始與結(jié)束的示例分析

發(fā)布時間:2021-12-02 10:10:03 來源:億速云 閱讀:128 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“VB.NET生存期開始與結(jié)束的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習一下“VB.NET生存期開始與結(jié)束的示例分析”這篇文章吧。

已聲明元素的“生存期”是元素可供使用的時間周期。變量是***具有生存期的元素。因此,編譯器將過程參數(shù)和函數(shù)返回值視為變量的特殊情況。變量的生存期表示它可以存儲值的時間周期。在生存期內(nèi)變量的值可以更改,但變量總是存儲某些值。

不同的VB.NET生存期

“成員變量”(在模塊級并且在任何過程外部聲明)的生存期一般與聲明該變量的元素的生存期相同。在類或結(jié)構(gòu)中聲明的非共享變量作為聲明該變量的類或結(jié)構(gòu)的每個實例的單獨副本存在。每個這樣的變量的生存期都與它的實例的生存期相同。但是,Shared 變量僅有一個生存期,即應(yīng)用程序運行所持續(xù)的全部時間。

“局部變量”(在過程內(nèi)部聲明)僅在聲明變量的過程的運行階段存在。這同樣適用于過程的參數(shù)和任何函數(shù)返回值。但是,如果該過程調(diào)用其他過程,則局部變量在被調(diào)用過程運行期間保留它們的值。

VB.NET生存期的開始

當控制進入聲明局部變量的過程時,局部變量的生存期便開始了。過程一開始運行,每個局部變量即被初始化為其數(shù)據(jù)類型的默認值。當過程遇到指定初始值的 Dim 語句 (Visual Basic) 時,它將那些變量設(shè)置為那些值,即使代碼已經(jīng)給它們賦了其他值。

結(jié)構(gòu)變量的每個成員被視為單獨的變量初始化。同樣,數(shù)組變量的每個元素也單獨初始化。

在過程內(nèi)部的塊中聲明的變量(例如 For 循環(huán))在進入過程時被初始化。不管代碼是否執(zhí)行該塊,這些初始化都會生效。

VB.NET生存期的結(jié)束

當過程終止時,不保留其局部變量的值,Visual Basic 將回收它們占用的內(nèi)存。下次調(diào)用該過程時,將再度創(chuàng)建并重新初始化它的所有局部變量。

當類或結(jié)構(gòu)的實例終止時,它的非共享變量便失去它們的內(nèi)存和值。類或結(jié)構(gòu)的每個新實例創(chuàng)建并初始化它的非共享變量。但是,Shared 變量一直保留到應(yīng)用程序停止運行時。

VB.NET生存期的擴展

如果用 Static (Visual Basic) 關(guān)鍵字聲明局部變量,該變量的生存期要比其過程的執(zhí)行時間長。下表顯示了過程聲明如何確定 Static 變量存在的時間長度。

以上是“VB.NET生存期開始與結(jié)束的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI