VB.Net运算符

一、数学运算符

1. ^ 乘方,如:3^4 = 3*3*3*3 = 81

2. - 负值,如:-3

3. * 相乘,如:5*8=40

4. / 相除,如:9/3=3    注意相除为右仰斜线

5. \ 取整,如:4\3=1    注意取整为左仰斜线

6.Mod取余,如:5 Mode 3 =2

7. + 相加,如:4+5=9

8. - 相减,如:5-4=1

注意:

Single类型与Long类型相加时,返回值为Double类型。

如果两个数都为Empty,则返回值为Integer;一个是Empty,另一个不是时,另一个操作数确定返回值类型。

\取整的两个操作数均为整数型值;/相除的返回值默认类型为Double。

 

二、连接运算符

可用+或&连接两个字符串。如:"34"+"56"="3456"(或"34"&"56"="3456")

 

三、比较运算符

    比较运算符把一个值和另一个值比较,如果操作数包含Empty,则按0进行处理,然后根据结果返回一个True或False的逻辑型值。在比较两个字符串时,若str1>str2为True,则表示str1排序时出现在str2后;若str1<str2为True,则表示str1排序时出现在str2前;如果不分前后用等于号;如果一个字符串是另一个字符串的前缀,如“aa”和“aaa”,则认为较长的字符串大于较短的字符串,即"aaa" > "aa" = True。VB.Net中常把一个对象变量和Nothing对象比较,已确定其是否已经初始化,如:If obj1 Is Nothing Then Dim obj1 New Book。

1. = 等于       注意如果是比较两个对象,用Is,不用=

2. <> 不等于    注意如果是比较两个对象,用IsNot,不用<>

如:Dim obj1 As New Book()     Dim obj2 As New Book()     则obj1 IsNot obj2 = True。因为虽然两个变量引用同一类型对象Book,但它们引用的是该类型的不同实例,因此结果为False。

3. > 大于      

4. < 小于       5. <= 不大于

6. >= 不小于

7. TypeOf 对象 Is 类型,用于确定一个对象的类型。

    当类型为指定接口类型时,如果对象实现该接口类型,则 TypeOf...Is 表达式返回True;当类型为类型时,如果对象是指定类的实例或者是从指定类派生的类的实例,表达式将返回 True。如:

Dim Cntrl As System.Windows.Forms.Button Cntrl = New System.Windows.Forms.Button() TypeOf Cntrl Is System.Windows.Forms.Control返回结果为True。  

8. Like        

Like用于比较某个字符串是否匹配某个特定的文本格式。这个特定的文本格式常含有下列特殊字符表达:

(1).“?”代表单个字符 (2).“*”代表没有或任意个字符 (3).“#”代表0-9的单个数字,相当于[0-9] (4).[字符列表]代表任何在列表中的字符 (5).[!字符列表]代表任何不在列表中的字符

(6). A-Z代表一个大写字母;a-z代表一个小写字母

以上特殊字符有时可以结合使用,如[a-zA-Z]代表一个字母字符,?*代表至少含有一个字符。

 

四、逻辑运算符

Not、And、Or、Xor、AndAlso、OrElse

用法:

Not 逻辑值--返回相反的逻辑值

A And B -- A 和 B 必须同时为True结果才为True

A Or B -- A 和 B 只要有一个为True结果就为True

A XOr B -- A 和 B 必须为相反的逻辑值,只要有一个为True结果就为True

AndAlso类似于And,OrElse类似于Or,只是它们是短路运算符,当A满足条件时,就不必再计算B了。

 

五、按位运算符

注意不能在VB.Net中直接使用以下二进制数,使用时需转换为相应的十六或十进制数字。

1. << 表示按位左移,空缺处补0。如:101101 << 2 结果为 110100   

2. >> 表示按位右移,如:101101 >> 2 结果为 001011  

3. Not 表示在结果位上为原位的反向值。如:Not 0100100 返回 10110011

4. And 只有两个比较值的对应位都为1时,结果位才为1,否则为0。如: 101010 And 001010返回001010

5. Or 和 Xor类似道理,不再举例。

 

六、时间运算方法

对于时间的运算方法,我们一般不直接使用运算符(TimeSpan类只能使用部分运算符),而是使用Date类的特定方法来操作: 

Dim date1 As Date,date2 As Date,dspn As TimeSpan,d1 As TimeSpan,d2 As TimeSpan,cpnum As Integer,bln As Boolean

dspn = date1 - date2

d2 = date1 + New TimeSpan(d1.Ticks * 8)  

date2 = date1.Add(dspn)

dspn = date1.Subtract(date2)

cpnum = date1.CompareTo(date2)    'cpnum如果为负值则date1<date2,正值则date1>date2,为0则date1=date2

bln = date1.Equals(date2)

另外,日期类的AddYears(),AddMonths(),AddDays(),AddHours(),AddMinutes(),AddSeconds(),AddMilliseconds(),AddTicks()方法分别表示在原日期基础上加上其参数中的整数后所得到的年、月、日、小时、分钟、秒、毫秒、毫微秒的日期型数值。

AddTicks()中的Tick表示100毫微秒单位。

 

七、操作符的运算顺序:

乘方^       负值-        乘除* /      取整\       取余Mod 

加减+ -     连接+ &      按位<< >> 

比较= <> < <= > >= Like Is IsNot TypeOf…Is  

非Not       同时And  AndAlso      选择 Xor  Or  OrElse

可以用()改变以上运算顺序,使()中的运算优先进行。

你可能感兴趣的:(VB.Net运算符)