VB.Net - 變量

2022-05-24 15:27 更新

一個(gè)變量只是一個(gè)給我們的程序可以操作的存儲(chǔ)區(qū)域的名字。 VB.Net中的每個(gè)變量都有一個(gè)特定的類型,它決定了變量內(nèi)存的大小和布局; 可以存儲(chǔ)在該存儲(chǔ)器內(nèi)的值的范圍; 以及可以應(yīng)用于該變量的一組操作。


我們已經(jīng)討論了各種數(shù)據(jù)類型。 VB.Net中提供的基本值類型可以分為:

類型示例
Integral typesSByte, Byte, Short, UShort, Integer, UInteger, Long, ULong and Char
Floating point typesSingle and Double
Decimal typesDecimal
Boolean typesTrue or False values, as assigned
Date typesDate

VB.Net還允許定義其他值類型的變量,如枚舉和類的變量的引用類型。 我們將在后續(xù)章節(jié)討論日期類型和類。

VB.Net中的變量聲明

Dim

語句用于一個(gè)或多個(gè)變量的變量聲明和存儲(chǔ)分配。 Dim語句用于模塊,類,結(jié)構(gòu),過程或塊級(jí)別。


VB.Net中變量聲明的語法是:

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

1、attributelist是適用于變量的屬性列表。 可選的。

2accessmodifier定義變量的訪問級(jí)別,它具有值 - 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í)評(píng)估并分配給變量的表達(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

VB.Net中的變量初始化

變量被初始化(賦值)一個(gè)等號(hào),然后是一個(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命名空間中的控制臺(tái)類提供了一個(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

Lvalues和Rvalues

有兩種表達(dá)式:

  • lvalue:作為左值的表達(dá)式可能出現(xiàn)在賦值的左側(cè)或右側(cè)。
  • rvalue:作為右值的表達(dá)式可能出現(xiàn)在作業(yè)的右側(cè)但不是左側(cè)。

變量是左值,因此可能出現(xiàn)在作業(yè)的左側(cè)。 數(shù)字文字是右值,因此可能不會(huì)分配,不能出現(xiàn)在左側(cè)。 以下是有效的語句:

Dim g As Integer = 20

但以下并不是有效的語句,并會(huì)生成編譯時(shí)的錯(cuò)誤:

20 = g


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)