vb.net位运算 VBNET编程宝典

VB.net语言当中,And和AndAlso有什么区别?

AndAlso是短路的逻辑与运算符,And有两个含义:非短路的逻辑与运算符;按位与运算符

创新互联建站的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括成都网站设计、做网站、电商网站开发、微信营销、系统平台开发。

Dim c=a AndAlso b表达式中,若表达式a的计算结果是False,无论表达式b是什么样,都不再进行计算,直接返回c的值

Dim c=a And b表达式中,无论a和b是怎样的表达式,都要全部计算完成后再返回c的值

AndAlso相比And的区别,除了性能优势外,更重要的是,从语义上来说

If a Then

If b Then

End If

End If

等价于If a AndAlso b Then而不等价于If a And b Then

考虑这种情况:

Dim m As ClassM=****

Dim c=m IsNot Nothing AndAlso m.Succeeded

这种实际编程中经常遇到的判断,如果把AndAlso替换成And,在m Is Nothing的情况下会引发NullReferenceException空引用异常,而AndAlso能确保不会引发空引用异常

进行逻辑运算的时候,And只在一种情况下有价值:不仅想要得到c的值,而且无论如何都希望执行b过程,并且自己能确保a=False不会影响b的执行。其他情况下务必使用AndAlso

OrElse和Or同理,作为上面那句的逆判断

Dim c=m Is Nothing OrElse m.Failed

也是经常使用的。当然在进行位运算时,只能用And和Or,AndAlso和OrElse没有位运算功能

在.net中,2^3是什么意思?

表示2按位异或3

二元 ^ 运算符是为整型和 bool 类型预定义的。对于整型,^ 将计算操作数的按位“异或”,即先把数字有二进制形式表示出来,在通过按位异或来得到结果,如何按位异或我想你应该知道。对于 bool 操作数,^ 将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,结果才为 true

VB.NET中怎样实现位运算

TextBox1.Text = 7 And 10

TextBox1.Text = 7 Or 10

TextBox1.Text = 7 Xor 10

TextBox1.Text = Not 10

TextBox1.Text = 7  10

TextBox1.Text = 7  10

如这些,我在VB.Net中也找不到shl和shr运算符~

不过可以通过"自定义运算符"来写出我们想要的功能

100分 急求在vb.net中怎样进行位操作

用bitarray类和BitVector32类实现

VB实现大致如下:

Imports System.Collections.Specialized

...

Dim bvData as BitVector32

Dim sec1 As BitVector32.Section = BitVector32.CreateSection(255)

Dim sec2 As BitVector32.Section = BitVector32.CreateSection(255,sec1)

Dim sec3 As BitVector32.Section = BitVector32.CreateSection(255,sec2)

Dim sec4 As BitVector32.Section = BitVector32.CreateSection(255,sec3)

Dim Buf(4096) as Byte 'receive byte size matched with DSP send data: 1024*4Byte

Dim recCount as Integer

Dim Data(1024) as long

....

For recCount = 0 To 1023

bvData(sec4) = buf(recByte*4)

bvData(sec3) = buf(recByte*4+1)

bvData(sec2) = buf(recByte*4+2)

bvData(sec1) = buf(recByte*4+3)

Data(recCount) = bvData.Data '这样数据肯定是-398

Next

....

vb.net 1

1左移10位,1后面加10个0

结果就是:10000000000

五、按位运算符

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

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

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

vb.net字体的粗体斜体同时显示怎么设置

该参数枚举值,采用位运算,那么可以用Or把两者连接起来即可;

New Font(CurrentFont.FontFamily, CurrentFont.Size, FontStyle.Bold Or FontStyle.Italic)


文章标题:vb.net位运算 VBNET编程宝典
网址分享:http://hbruida.cn/article/hjpigp.html