VB.Net學(xué)習(xí)筆記(變量生存期與賦值)
發(fā)表時間:2023-08-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]變量有生存周期這一點程序員們都了解,在VB.Net中增加了一個修飾Shared。Shared 關(guān)鍵字指示一個或多個被聲明的編程元素將被共享。要點是:共享元素不關(guān)聯(lián)于某類或結(jié)構(gòu)的特定實例。需要通過使用...
變量有生存周期
這一點程序員們都了解,在VB.Net中增加了一個修飾Shared。Shared 關(guān)鍵字指示一個或多個被聲明的編程元素將被共享。要點是:共享元素不關(guān)聯(lián)于某類或結(jié)構(gòu)的特定實例。需要通過使用類名或結(jié)構(gòu)名稱或者類或結(jié)構(gòu)的特定實例的變量名稱限定共享元素來訪問它們。簡單的描述就是Shared變量是為類型本身服務(wù)而不是為特定對象服務(wù)的。
Shared舉例
Public Class TestA
Public Shared i As Int32 = 10
End Class
Public Class TestB
Inherits TestA '繼承TestA
Public Sub New()
TestA.i = 100 '使用類型的名字進(jìn)行訪問Shared變量
End Sub
End Class
要注意的是,在VB.Net中Shared變量與類型和實例的關(guān)系在語法上要求似乎并不特別嚴(yán)格,程序員可以使用類型的實例來訪問并修改Shared變量,但在C#中要求就很嚴(yán)謹(jǐn)了。
賦值語句
在VB.Net中賦值語句分為:簡單賦值語句、復(fù)合賦值語句、委托賦值語句、Mid賦值語句。
簡單賦值語句
簡單賦值語句和以前的VB賦值語句基本上沒有太大的區(qū)別,只是現(xiàn)在VB.Net允許對變量聲明后就立即賦值了(在前面可訪問性舉例可以看到示例)。我們需要關(guān)注的是數(shù)組的聲明和賦值方法。
在VB.Net中你可以在聲明數(shù)組時同時描述數(shù)組的緯度和上限,且每一個數(shù)組的緯度的下限都是0,不可以改變。但可以通過將數(shù)組的上限指定為 -1 來指定“零長度數(shù)組”。這種數(shù)組不包含任何元素。
如果不顯示的描述數(shù)組的長度,你可以在聲明數(shù)組的同時立即賦值。
數(shù)組的聲明和賦值舉例
Public Class TestA
Dim iArr() As Int32
Dim bArr(5) As Boolean '5是指bArr下標(biāo)的上限,即可以有6個元素
Dim lArr() As Long = New Long(3) {100, 200, 300, 400}
Dim cArr() As String = New String() {"A", "B", "C"}
Dim dArr(-1) As Double
End Class
關(guān)于數(shù)組的更多特性,在后期關(guān)于數(shù)組的介紹中將詳細(xì)闡述。
復(fù)合賦值
現(xiàn)在VB.Net開始支持復(fù)合賦值語句。與完全展開的表達(dá)式不同,復(fù)合賦值語句左側(cè)的變量僅計算一次。這意味著在運(yùn)行時,變量表達(dá)式先于賦值語句右側(cè)的表達(dá)式計算。
復(fù)合賦值舉例
Public Class TestA
Public Sub New()
Dim i As Int32
i += 10
End Sub
End Class
Mid賦值
Mid賦值實際上是字符串的處理賦值過程。通過以下的舉例可以了解Mid的賦值方式。
Mid舉例
Public Class TestA
Public Sub New()
Dim TmpStr As String
TmpStr = "Hello VB.Net" ' Hello VB.Net
Mid(TmpStr, 7, 2) = "c#" ' Hello c#.Net
Mid(TmpStr, 7) = "VB6" ' Hello VB6Net
Mid(TmpStr, 7) = "VB6 to VB.Net" ' Hello VB6 to
Mid(TmpStr, 7, 3) = "VB6 to VB.Net" 'Hello VB6 to
End Sub
End Class
關(guān)于委托語句的關(guān)鍵字AddressOf在后期委托和