vb.net 中的短路

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

我问“你学过vb.net吗?”

你说:“学过,而且用的特别熟!”

我问:“那你知道vb.net的短路概念吗?”

你会说:“当然了,不就是逻辑与或上那些#$%^&*?......”

我说:“对,就是那些东西!我给你一段程序看看你能搞定吗?”

“No problem !”you said 。

下面是段程序,很简单,看你能不能搞定。

If Not Equals(txtAge.Text, String.Empty) And CInt(txtAge.Text) > 100 Then

Debug.WriteLine("ok")

End If

构造你自己的程序,把这段代码加上,然后把你的txtAge文本框清空,运行一千遍!

BT?运行一千遍?

^_^,当然不需要那么多,只需几十遍就可以!

大家预测一下会出现什么情况!

thinking...

"show ok ?"你试探着说!

我只能说你自己运行程序吧!我没有办法说你说的是正确的还是错误!

你很不耐烦的构造了程序,然后按下了F5 。

嘿嘿!我只能看着你笑了!

why ?why ?你可能不理解,为什么会弹出一个对话框,是转型错误!

这就是我想看到的结果!

没错,这是正确的,出现这个错误是正确的。

你满怀疑惑地看着那个带着红色图标的对话框,wondering......

"不应该啊!怎么会这样?"你小声嘀咕着!

我要告诉你,这个错误的对话框是真实的,不是vs的bug!

那莫非书上说的短路是#@!8&^%^%]*&%^$#@!8&^%^%?

不!因为vb.net里有个东西,叫AndAlso !

我还没说完你就明白了!^_^

在vb.net里有两个比较特殊的逻辑运算符,一个是前面的AndAlso,另一个是OrElse 。

请记住,这两个才遵循短路算法 !

Understand ?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航