一個(gè)變量只是一個(gè)給我們的程序可以操作的存儲(chǔ)區(qū)域的名字。 VB.Net中的每個(gè)變量都有一個(gè)特定的類型,它決定了變量內(nèi)存的大小和布局; 可以存儲(chǔ)在該存儲(chǔ)器內(nèi)的值的范圍; 以及可以應(yīng)用于該變量的一組操作。
我們已經(jīng)討論了各種數(shù)據(jù)類型。 VB.Net中提供的基本值類型可以分為:
類型 | 示例 |
---|---|
Integral types | SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong and Char |
Floating point types | Single and Double |
Decimal types | Decimal |
Boolean types | True or False values, as assigned |
Date types | Date |
VB.Net還允許定義其他值類型的變量,如枚舉和類的變量的引用類型。 我們將在后續(xù)章節(jié)討論日期類型和類。
Dim
語句用于一個(gè)或多個(gè)變量的變量聲明和存儲(chǔ)分配。 Dim語句用于模塊,類,結(jié)構(gòu),過程或塊級別。
VB.Net中變量聲明的語法是:
[ < attributelist> ] [ accessmodifier ] [[ Shared ] [ Shadows ] | [ Static ]] [ ReadOnly ] Dim [ WithEvents ] variablelist
1、attributelist是適用于變量的屬性列表。 可選的。
2、accessmodifier定義變量的訪問級別,它具有值 - Public,Protected,F(xiàn)riend,Protected Friend和Private。 可選的。
3、Shared共享聲明一個(gè)共享變量,它不與類或結(jié)構(gòu)的任何特定實(shí)例相關(guān)聯(lián),而是可用于類或結(jié)構(gòu)的所有實(shí)例。 可選的。
4、Shadows陰影表示變量在基類中重新聲明和隱藏一個(gè)同名的元素或一組重載的元素。 可選的。
5、Static表示變量將保留其值,即使在聲明它的過程終止之后。 可選的。
6、ReadOnly表示變量可以讀取,但不能寫入。 可選的。
7、WithEvents指定該變量用于響應(yīng)分配給變量的實(shí)例引發(fā)的事件。 可選的。
8、Variablelist提供了聲明的變量列表。
變量列表中的每個(gè)變量具有以下語法和部分:
variablename[ ( [ boundslist ] ) ] [ As [ New ] datatype ] [ = initializer ]
1、variablename:是變量的名稱
2、boundslist:可選。 它提供了數(shù)組變量的每個(gè)維度的邊界列表。
3、New:可選。 當(dāng)Dim語句運(yùn)行時(shí),它創(chuàng)建一個(gè)類的新實(shí)例。
4、datatype:如果Option Strict為On,則為必需。 它指定變量的數(shù)據(jù)類型。
5、initializer:如果未指定New,則為可選。 創(chuàng)建時(shí)評估并分配給變量的表達(dá)式。
一些有效的變量聲明及其定義如下所示:
Dim StudentID As Integer Dim StudentName As String Dim Salary As Double Dim count1, count2 As Integer Dim status As Boolean Dim exitButton As New System.Windows.Forms.Button Dim lastTime, nextTime As Date
變量被初始化(賦值)一個(gè)等號,然后是一個(gè)常量表達(dá)式。 初始化的一般形式是:
variable_name = value;
例如,
Dim pi As Double pi = 3.14159
您可以在聲明時(shí)初始化變量,如下所示:
Dim StudentID As Integer = 100 Dim StudentName As String = "Bill Smith"
嘗試下面的例子,它使用各種類型的變量:
Module variablesNdataypes Sub Main() Dim a As Short Dim b As Integer Dim c As Double a = 10 b = 20 c = a + b Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c) Console.ReadLine() End Sub End Module
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
a = 10, b = 20, c = 30
System命名空間中的控制臺類提供了一個(gè)函數(shù)ReadLine,用于接受來自用戶的輸入并將其存儲(chǔ)到變量中。 例如,
Dim message As String message = Console.ReadLine
下面的例子說明:
Module variablesNdataypes Sub Main() Dim message As String Console.Write("Enter message: ") message = Console.ReadLine Console.WriteLine() Console.WriteLine("Your Message: {0}", message) Console.ReadLine() End Sub End Module
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果(假設(shè)用戶輸入的Hello World):
Enter message: Hello World Your Message: Hello World
有兩種表達(dá)式:
變量是左值,因此可能出現(xiàn)在作業(yè)的左側(cè)。 數(shù)字文字是右值,因此可能不會(huì)分配,不能出現(xiàn)在左側(cè)。 以下是有效的語句:
Dim g As Integer = 20
但以下并不是有效的語句,并會(huì)生成編譯時(shí)的錯(cuò)誤:
20 = g
更多建議: