炫意html5
最早CSS3和HTML5移动技术网站之一

VB.Net – 运营商

运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作. VB.Net有丰富的内置运算符,并提供以下类型的常用运算符 :

  • 算术运算符

  • 比较运算符

  • 逻辑/按位运算符

  • 比特移位运算符

  • 作业运算符

  • 其他运算符

本教程将解释最常用的运算符.

算术运算符

下表显示了VB.Net支持的所有算术运算符.假设变量 A 持有2而变量 B 持有7,然后是 :

运算符 描述 示例
^ 将一个操作数提升为另一个操作数 B ^ A将给出49
+ 添加两个操作数 A + B将给出9
减去第二第一个操作数 A  –  B将给-5
* 将两个操作数相乘 A * B将给出14
/ 将一个操作数除以另一个操作数并返回浮点结果 B/A将给出3.5
\ 将一个操作数除以另一个操作数并返回整数结果 B \ A将给出3
MOD 模数运算符和余数整数除法后 B MOD A将给出1

比较运算符

下表显示了VB.Net支持的所有比较运算符.假设变量 A 保持10,变量 B 保持20,然后&减去;

运算符 描述 示例
= 检查两个操作数的值是否相等;如果是,则条件成立. (A = B)不成立.
<> 检查两个操作数的值是否相等;如果值不相等,则条件变为真. (A<> B)为真.
> 检查左操作数的值是否大于右操作数的值;如果是,则条件成立. (A> B)不成立.
< 检查左操作数的值是否小于右操作数的值;如果是,则条件变为真. (A< B)为真.
> = 检查左操作数的值是否大于或等于右操作数的值;如果是,则条件成立. (A> = B)不成立.
< = 检查左操作数的值是否小于或等于右操作数的值;如果是,则条件成立. (A< = B)为真.

除上述内容外,VB.Net还提供了三个比较运算符,我们将在后面的章节中使用它们;但是,我们在这里给出一个简短的描述.

  • 运算符&减去;它比较两个对象引用变量,并确定两个对象引用是否引用同一对象而不执行值比较.如果object1和object2都引用完全相同的对象实例,则结果为 True ;否则,结果为假.

  • IsNot 运算符&减号;它还比较两个对象引用变量,并确定两个对象引用是否引用不同的对象.如果object1和object2都引用完全相同的对象实例,则结果为 False ;否则,结果为真.

  • 喜欢运算符&减号;它将字符串与模式进行比较.

逻辑/按位运算符

下表显示全部VB.Net支持的逻辑运算符.假设变量A保持布尔值True,变量B保持布尔值False,然后 :

运算符 描述 示例
它是逻辑和按位AND运算符.如果两个操作数都为真,则条件成立.此运算符不执行短路,即它会计算两个表达式. (A和B)为False.
这是逻辑运算符和按位运算符.如果两个操作数中的任何一个为真,则条件成立.此运算符不执行短路,即它计算两个表达式. (A或B)为True.
它是逻辑以及按位NOT运算符.用于反转其操作数的逻辑状态.如果条件为真,则Logical NOT运算符将为false. Not(A和B)为True.
Xor 它是逻辑和按位逻辑异或运算符.如果两个表达式都为True或两个表达式都为False,则返回True;否则返回False.该运算符不执行短路,它总是计算两个表达式,并且没有此运算符的短路对应. A Xor B为True.
AndAlso 这是逻辑AND运算符.它仅适用于布尔数据.它执行短路. (A AndAso B)为假.
OrElse 它是逻辑OR运算符.它仅适用于布尔数据.它执行短路. (A OrElse B)为真.
IsFalse 它确定表达式是否为假.
IsTrue 它确定表达式是否为True.

位移运算符

我们已经讨论过按位运算符.位移操作符对二进制值执行移位操作.在进入位移运算符之前,让我们理解位操作.

按位运算符处理位并执行逐位运算. &,|和^的真值表如下 :

p q p& q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

假设A = 60;和B = 13;现在采用二进制格式,它们将如下所示;

A = 0011 1100

B = 0000 1101

—————–

A& B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~A  = 1100 0011

我们已经看到VB.Net支持的Bitwise运算符是And,Or,Xor和Not.位移算子是>>和<<分别为左移和右移.

假设变量A持有60而变量B持有13,则为 :

运算符 Description 示例
如果两个操作数都存在,则按位AND运算符会将一个位复制到结果中. (A AND B)将给出12,即0000 1100
二进制OR运算符如果存在于任一操作数中,则复制一点. (A或B)将给出61,即0011 1101
Xor 二进制XOR运算符如果在一个位置设置,则复制该位操作数但不是两者. (A Xor B)将给出49,即0011 0001
二元一元补码运算符是一元的,具有’翻转’位的效果. (非A)将给出-61,由于带符号的二进制数,它是2的补码形式的1100 0011.
<< 二元左移算子.左操作数值向左移动右操作数指定的位数. A<< 2将给出240,即1111 0000
>> 二进制右移运算符.左操作数值向右移动右操作数指定的位数. A>> 2将给出15,即0000 1111

分配运营商

那里是跟随VB.Net支持的赋值运算符 :

运算符 描述 示例
= 简单赋值运算符,将右侧操作数的值分配给左侧操作数 C = A + B将A + B的值分配给C
+ = 添加AND赋值运算符,它将右操作数添加到左操作数并将结果赋给左操作数 C + = A相当于C = C + A
–  = 减去AND赋值运算符,它从左操作数中减去右操作数并将结果赋给左操作数 C  –  = A相当于C = C  –  A
* = 乘以AND赋值运算符,它将右操作数与左操作数相乘,并将结果赋给左操作数 C * = A等于C = C * A
/= 除以AND赋值运算符,它除以左操作数和右操作数并将结果赋给左操作数(浮点除法) C/= A相当于C = C/A
\ = 除以AND赋值运算符,它将左操作数除以右操作数和将结果赋给左操作数(整数除法) C \ = A相当于C = C \A
^ = 指数和赋值运算符.它将左操作数提升为右操作数的幂,并将结果赋给左操作数. C ^ = A相当于C = C ^ A
<< = 左移AND赋值运算符 C<< = 2与C = C<< 2
>> = 右移AND赋值运算符 C>> = 2与C = C>>相同2
& = 连接字符串表达式到String变量或属性并将结果赋给变量或属性.

Str1& = Str2与

Str1相同= Str1& Str2

其他运营商

那里是VB.Net支持的其他一些重要的运算符.

运算符 描述 示例
AddressOf 返回过程的地址.
 
 AddHandler Button1.Click,
 AddressOf Button1_Click
等待 它应用于异步方法或lambda表达式中的操作数,以暂停方法的执行,直到等待的任务完成.
 
昏暗的结果因为res 
 = Await AsyncMethodThatReturnsResult()
 Await AsyncMethod()
GetType 它返回指定类型的Type对象. Type对象提供有关类型的信息,例如其属性,方法和事件.
 
 MsgBox(GetType(整数).ToString())
函数表达式 它声明了定义函数lambda表达式的参数和代码.
 
 Dim add5 = Function(num As 
 Integer)num + 5 
'打印10 
 Console.WriteLine(add5(5))
如果 它使用短路评估有条件地返回两个值中的一个.可以使用三个参数或两个参数调用If运算符.
 
 Dim num = 5 
 Console.WriteLine(If(num> = 0,
"Positive","Negative"))

运算符优先于VB.Net

运算符优先级决定表达式中的术语分组.这会影响表达式的计算方式.某些运营商的优先级高于其他运营商;例如,乘法运算符的优先级高于加法运算符 :

例如,x = 7 + 3 * 2;这里,x被赋值为13而不是20,因为operator *的优先级高于+,所以它首先乘以3 * 2然后加到7中.

这里,运算符最高优先级显示在表格的顶部,最低的优先级显示在底部.在表达式中,将首先评估更高优先级的运算符.

Operator Precedence
Await 最高
指数(^ )
一元身份和否定(+, – )
乘法和浮点除法(*,/)
整数除法(\)
模数算术(Mod)
加法和减法(+, – )
算术位移(<<> && gt;)
所有比较运算符(=,<> ,<,< =,>,> =,Is,IsNot,Like,TypeOf …是)
否定(不)
Conjunction(And,AndAlso)
Inclusive disjunction(或者,OrElse)
Exclusive disjunction(Xor) 最低

炫意HTML5 » VB.Net – 运营商

CSS3教程HTML5教程