VB.Net - 變數



變數只不過是賦予儲存區域的名稱,我們的程式可以對其進行操作。VB.Net 中的每個變數都具有特定的型別,該型別決定了變數記憶體的大小和佈局;可以儲存在該記憶體中的值的範圍;以及可以應用於變數的操作集。

我們已經討論了各種資料型別。VB.Net 中提供的基本值型別可以分類為 -

型別 示例
整數型別 SByte、Byte、Short、UShort、Integer、UInteger、Long、ULong 和 Char
浮點型別 Single 和 Double
十進位制型別 Decimal
布林型別 True 或 False 值,根據分配情況
日期型別 Date

VB.Net 還允許定義其他變數值型別,如Enum 和變數引用型別,如Class。我們將在後續章節中討論日期型別和類。

VB.Net 中的變數宣告

Dim 語句用於變數宣告和一個或多個變數的儲存分配。Dim 語句用於模組、類、結構、過程或塊級別。

VB.Net 中變數宣告的語法為 -

[ < attributelist > ] [ accessmodifier ] [[ Shared ] [ Shadows ] | [ Static ]]
[ ReadOnly ] Dim [ WithEvents ] variablelist

其中,

  • attributelist 是應用於變數的屬性列表。可選。

  • accessmodifier 定義變數的訪問級別,其值包括 - Public、Protected、Friend、Protected Friend 和 Private。可選。

  • Shared 宣告一個共享變數,該變數不與類的任何特定例項或結構相關聯,而是可用於類的所有例項或結構。可選。

  • Shadows 指示變數重新宣告並隱藏基類中同名元素或一組過載元素。可選。

  • Static 指示變數將保留其值,即使在宣告它的過程終止後也是如此。可選。

  • ReadOnly 表示變數可以讀取,但不能寫入。可選。

  • WithEvents 指定變數用於響應分配給變數的例項引發的事件。可選。

  • Variablelist 提供宣告的變數列表。

變數列表中的每個變數都具有以下語法和部分 -

variablename[ ( [ boundslist ] ) ] [ As [ New ] datatype ] [ = initializer ]

其中,

  • variablename - 是變數的名稱

  • boundslist - 可選。它提供陣列變數每個維度的邊界的列表。

  • New - 可選。當 Dim 語句執行時,它會建立類的新的例項。

  • datatype - 如果 Option Strict 為 On 則為必需。它指定變數的資料型別。

  • initializer - 如果未指定 New 則為可選。在建立變數時計算並分配給變數的表示式。

此處顯示了一些有效的變數宣告及其定義 -

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

VB.Net 中的變數初始化

變數透過等號後跟一個常量表達式來初始化(賦值)。初始化的一般形式為 -

variable_name = value;

例如,

Dim pi As Double
pi = 3.14159

您可以在宣告變數時對其進行初始化,如下所示 -

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

編譯並執行上述程式碼後,將產生以下結果 -

a = 10, b = 20, c = 30

接受使用者的輸入

System 名稱空間中的 Console 類提供了一個函式ReadLine,用於接受使用者的輸入並將其儲存到變數中。例如,

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

編譯並執行上述程式碼後,將產生以下結果(假設使用者輸入 Hello World) -

Enter message: Hello World   
Your Message: Hello World

左值和右值

有兩種表示式 -

  • 左值 - 作為左值的表示式可以出現在賦值的左側或右側。

  • 右值 - 作為右值的表示式可以出現在右側,但不能出現在賦值的左側。

變數是左值,因此可以出現在賦值的左側。數字文字是右值,因此不能賦值,也不能出現在左側。以下是有效的語句 -

Dim g As Integer = 20

但以下語句無效,會生成編譯時錯誤 -

20 = g
廣告