📅  最后修改于: 2020-11-19 08:45:40             🧑  作者: Mango
变量不过是我们程序可以操作的存储区域的名称。 VB.Net中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。可以存储在该内存中的值的范围;以及可以应用于该变量的一组操作。
我们已经讨论了各种数据类型。 VB.Net中提供的基本值类型可以归类为-
Type | Example |
---|---|
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还允许定义变量的其他值类型(例如Enum)和变量的引用类型(例如Class) 。我们将在后续章节中讨论日期类型和类。
Dim语句用于一个或多个变量的变量声明和存储分配。 Dim语句用于模块,类,结构,过程或块级别。
VB.Net中变量声明的语法是-
[ < attributelist > ] [ accessmodifier ] [[ Shared ] [ Shadows ] | [ Static ]]
[ ReadOnly ] Dim [ WithEvents ] variablelist
哪里,
attributelist是适用于变量的属性列表。可选的。
accessmodifier定义变量的访问级别,其值为-公共,受保护,朋友,受保护的朋友和私人。可选的。
Shared声明一个共享变量,该变量不与类或结构的任何特定实例相关联,而是可用于该类或结构的所有实例。可选的。
阴影表示变量在基类中重新声明并隐藏了同名元素或一组重载元素。可选的。
静态表示变量将保留其值,即使在声明该变量的过程终止后也是如此。可选的。
ReadOnly表示变量可以读取,但不能写入。可选的。
WithEvents指定该变量用于响应分配给该变量的实例引发的事件。可选的。
Variablelist提供了声明的变量列表。
变量列表中的每个变量具有以下语法和部分-
variablename[ ( [ boundslist ] ) ] [ As [ New ] datatype ] [ = initializer ]
哪里,
variablename-是变量的名称
boundslist-可选。它提供了数组变量每个维度的范围的列表。
新增-可选。当Dim语句运行时,它将创建该类的新实例。
数据类型-如果Option Strict为On,则为必需。它指定变量的数据类型。
初始值设定项-如果未指定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
变量使用等号后跟一个常量表达式初始化(分配一个值)。初始化的一般形式是-
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
表达式有两种-
lvalue-作为左值的表达式可以显示在赋值的左侧或右侧。
右值-作为右值的表达式可以出现在分配的右侧,但不能出现在左侧。
变量是左值,因此可能出现在赋值的左侧。数字字面量是右值,因此可能无法赋值并且不能出现在左侧。以下是有效的声明-
Dim g As Integer = 20
但是以下不是有效的语句,并且会生成编译时错误-
20 = g