VB.NET 运算符

2025年3月17日 | 阅读 15 分钟

VB.NET 编程中,运算符 是一个用于在变量上执行各种操作的符号。VB.NET 拥有不同类型的运算符,它们有助于对数据值执行逻辑和数学运算。运算符优先级 用于确定 VB.NET 编程语言 中不同运算符的执行顺序。

什么是 VB.NET 运算符?

在 VB.NET 中,运算符 是一个特殊的符号,它告诉编译器对数据值执行特定的逻辑或数学运算。数据值本身(可以是变量或常量)称为操作数,而运算符则对操作数执行各种操作

例如:在表达式中,

3 + 2 - 1

符号 +- 是运算符,而 3、2 和 1 是操作数。

VB.NET 运算符的不同类型

以下是 VB.NET 中可用的不同类型的运算符

  • 算术运算符
  • 比较运算符
  • 逻辑和位运算符
  • 位移运算符
  • 赋值运算符
  • 连接运算符
  • 杂项运算符

算术运算符

VB.NET 中的算术运算符用于在 VB.NET 中对操作数执行数学运算,如减法、加法、乘法、除法等。它们如下

VB.NET 中的算术运算符

运算符描述示例
^这是一个幂运算符,用于将一个操作数提高到另一个操作数的幂。Y ^ X (X 的 Y 次方)
+加法运算符用于添加数值数据,以及连接两个字符串变量。X + Y
-这是一个减法运算符,用于从第一个操作数中减去第二个操作数。X - Y
*乘法运算符用于相乘操作数X * Y
/这是一个除法运算符,用于将一个操作数除以另一个操作数,并返回浮点结果。X / Y
\这是一个整数除法运算符,它类似于除法运算符,不同之处在于它在将一个操作数除以另一个操作数时返回整数结果。X \ Y
Mod这是一个模(取余)运算符,用于将两个操作数相除并只返回余数。X Mod Y

VB.NET 中算术运算符的示例:

Arithmetic_Operator.vb

现在,按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述程序;然后它会显示以下结果

VB.NET Operators

比较运算符

顾名思义,比较运算符用于比较两个变量或操作数的值,以进行各种条件判断,例如大于、小于等于等,并根据条件返回布尔值(true 或 false)。

运算符描述示例
=它检查两个操作数的值是否相等;如果相等,则返回 true 值,否则显示 False。(A = B)
<>这是一个非相等运算符,它检查两个操作数的值是否不相等;如果它们不相等,则返回 true;否则,显示 false。(A <> B),检查非相等性
>大于符号或运算符用于确定左操作数的值是否大于右操作数的值;如果条件为 true,则返回 TRUE;否则,显示 FALSE 值。(A > B);如果为真,则为 TRUE,

否则为 FALSE

<这是一个小于符号,它检查左操作数的值是否小于右操作数的值;如果条件为 true,则返回 TRUE;否则,显示 FALSE 值。(A < B);如果条件为 true,则返回 TRUE,否则返回 FALSE
>=这是大于等于,它检查两个条件,即第一个操作数是否大于或等于第二个操作数;如果为真,则返回 TRUE;否则,显示 False。A >= B
<=这个符号表示小于等于,它判断第一个操作数是否小于或等于第二个操作数,如果条件为 true,则返回 TRUE;否则,显示 FALSE。A <= B
Is 运算符用于验证两个对象是否引用相同的变量或对象;如果测试为 true,则返回 True;否则,结果为 False。简而言之,它检查对象的相等性。Is 运算符还用于确定对象是否引用一个有效对象。result = obj1 Is obj2
IsNotIsNot 运算符与 Is 运算符类似,不同之处在于它检查两个对象是否引用不同的对象;如果引用不同的对象,则结果为 True;否则,结果为 False。Result = obj1 IsNot obj2
喜欢Like 运算符用于检查字符串变量的模式表达式;如果模式匹配,则结果为 True;否则,返回 False。result = string Like the pattern,pattern 代表 Like 运算符使用的字符系列。

VB.NET 中比较运算符的示例

Comparison_Operator.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators

逻辑和位运算符

逻辑和位运算符处理布尔(true 或 false)条件,如果条件变为 true,则返回布尔值。以下是用于对操作数(变量)执行各种逻辑运算(如 And、Or、Not 等)的逻辑和位运算符。假设有两个操作数 A 和 B,其中 A 为 True,B 为 False。

运算符描述示例
And 运算符表示,当两个操作数都为 true 时,结果为 True。(A And B),结果 = False
这是一个 Or 运算符,如果两个操作数中有一个为 true,则返回 true 值。(A Or B),结果 = True
Not 运算符用于反转逻辑条件。例如,如果操作数的逻辑为 True,它将反转条件并使其变为 False。Not A

Not(A And B) 为 True

异或这是一个异或运算符,它表示当两个表达式都为 true 或都为 false 时,结果为 True;否则,结果为 False。A Xor B 为 True
AndAlso这是一个逻辑 AND 运算符,它对变量执行短路操作,并且如果两个操作数都为 true,结果为 True,否则结果为 False。A AndAlso B = False
OrElse这是一个逻辑 OR 运算符,它对布尔数据执行短路操作。如果其中任何一个操作数为 true,结果为 True,否则结果为 False。A OrElse B = True
IsFalseIsFalse 运算符用于确定表达式是否为 False。
IsTrueIsTrue 运算符用于确定表达式是否为 True。

逻辑和位运算符的示例:

Logic_Bitwise.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators

位移运算符

位移运算符用于在二进制值上执行向右或向左的位移操作。

VB.NET 中的位移操作

运算符描述
并且二进制 AND 运算符用于在结果中复制公共二进制位,如果该位存在于两个操作数中。
二进制 OR 运算符用于在结果中复制公共二进制位,如果该位存在于任一操作数中。
XORVB.NET 中的二进制 XOR 运算符用于确定一个位是否存在于其中一个操作数中而不是两个操作数中。
二进制 NOT 运算符也称为二进制反码运算符,用于翻转二进制位。这意味着它将位从 0 转换为 1 或从 1 转换为 0。
<<二进制左移运算符用于将位向左移动。
>>二进制右移运算符用于将位向右移动。

VB.NET 中位移运算符的示例:

BitShift_Operator.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators

赋值运算符

赋值运算符用于在 VB.NET 中为变量赋值。

VB.NET 中的赋值运算符

运算符描述示例
=这是一个简单的赋值运算符,用于将右侧的操作数或值赋给左侧的操作数。X = 5,X 被赋值为 5
X = P + Q,(P + Q) 变量或值被赋给 X。
+=加法 AND 赋值运算符用于将右操作数的值加到左操作数。然后,结果被赋给左操作数。X += 5,表示
X = X + 5 (5 被加并赋给 X,然后结果保存到左侧的 X 操作数)
-=这是一个减法 AND 赋值运算符,它从左操作数中减去右操作数或值。然后,结果将被赋给左操作数。X -= P,这与 X = X - P 相同
*=这是一个乘法 AND 赋值运算符,它将右操作数或值与左操作数相乘。然后,结果将被赋给左操作数。X *= P,这与 X = X - P 相同
/=这是一个除法 AND 赋值运算符,它将左操作数或值除以右操作数。然后,结果将被赋给左操作数(以浮点形式)。X /= P,这与 X = X - P 相同
\=这是一个除法 AND 赋值运算符,它将左操作数或值除以右操作数。然后,结果将被赋给左操作数(以整数形式)。X \= P,这与 X = X - P 相同
^=这是一个表达式 AND 赋值运算符,它将左操作数或值提高到右操作数的幂。然后,结果将被赋给左操作数。X ^= P,这与 X = X ^ P 相同
&=这是一个字符串连接赋值运算符,用于将右侧的字符串或变量与左侧的字符串或变量绑定。然后,结果将被赋给左操作数。Str &= name,这与 Str = Str & name 相同

VB.NET 中赋值运算符的示例

Assign_Operator.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators

连接运算符

在 VB.NET 中,有两个连接运算符用于绑定操作数

运算符描述示例
&这是一个与号符号,用于将两个或多个操作数连接在一起。此外,非字符串操作数也可以与字符串变量连接(但在这种情况下,Option Strict 为 on)。Result = Wel & come,
Result = Welcome
+它也用于相加或连接两个数字或字符串。Result = Wel + come,
Result = Welcome

VB.NET 中连接运算符的示例。

MyProgram.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators

杂项运算符

VB.NET 中还有一些重要的运算符

运算符描述示例
AwaitAwait 运算符用于操作数,以暂停异步方法或 lambda 表达式的执行,直到等待的任务完成。Dim output as out = Await AsyncMethodThatReturnsResult() Await AsyncMethod()
AddressOfAddressOf 运算符用于提供对过程地址的引用。AddHandler Button2.Click, AddressOf Button2_Click
GetTypeGetType 运算符用于检索指定对象的类型。此外,检索到的对象类型提供了各种信息,如方法、属性和事件。MsgBox(GetType(String).ToString())
Function Expression它定义了 lambda 表达式,该表达式声明了参数和代码。Lambda 表达式是一种函数,用于在不定义名称的情况下计算并返回值。Dim mul2 = Function(num As Integer) num * 4
Console.WriteLine(mul2(4))
IfIf 运算符使用短路求值,从两个定义的对象的两个对象值中条件性地返回一个对象值。If 运算符可以与两个或三个定义的参数一起使用。Dim a = -4
Console.WriteLine(If (a >= 0,
"Positive", "Negative"))

VB.NET 中杂项运算符的示例。

Misc_Operator.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators

VB.NET 中的运算符优先级

运算符优先级用于确定复杂表达式中不同运算符的求值顺序。有不同的优先级级别,运算符可能属于其中一个级别。具有较高优先级的运算符会先求值。具有相似优先级的运算符会按从左到右或从右到左的顺序进行求值。

下表显示了运算、运算符及其优先级 -

操作运算符优先级
AwaitHighest
指数^
一元同一性和否定+, -
乘法和浮点除法*, /
整数除法\
模运算Mod
加法和减法+, -
算术位移<<, >>
所有比较运算符=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf …is
取反
连词And, AndAlso
包含性析取Or, Else
排他性析取异或最低点

VB.NET 中运算符优先级的示例。

Operator_Precedence.vb

现在,通过按 F5 键或 Visual Studio 中的“开始”按钮来编译并执行上述代码,它将返回以下输出

VB.NET Operators