vb.net 中的短路

我问“你学过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&^%^%?

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

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

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

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

Understand ?

时间: 2024-08-03 14:28:36

vb.net 中的短路的相关文章

在VB.NET中应用SMTP和POP3 服务

在VB.NET中应用SMTP和POP3 服务 介绍 这里介绍的例程代码最小化地展示了SMTP和POP3协议的执行,并且有意地演示VB.NET中的多线程.套接字和输入输出的能力.这个程序需要固定一些目录结构. 应用程序邮箱的目录 C:\Temp\SMTP C:\Temp\SMTP \SPOOL C:\Temp\SMTP \[Pop 3用户名作为目录] 程序也可以向局域网外部发送E-mail,但这就需要依赖于SMTP服务器.本例程中指定了SMTP服务器的硬代码,并且至少要在C:\Temp\SMTP下

VB.NET中的多线程开发

多线程 引言 对于使用VB6的开发者而言,要在程序中实现多线程(multi-thread)功能,一般就是使用Win32 API调用.但凡是进行过这种尝试的开发者都会感觉到实现过程非常困难,而且总是会发生些null terminated strings GPF的错误.可是有了VB.NET,一切烦恼都成为过去. 自由线程(free threaded) 在VB6中,我们只能对组件设置多线程模式,这通常就是单元模式的多线程.对于单元线程组件而言,组件中的每个可执行方法都将在一个和组件相联系的线程上运行.

VB.net中HOOK的应用(CNET中文网)

中文 VB.net中HOOK的应用 在vb.net版做版主有一阵子了,一直在思考怎么能更好地帮助大家理解vb.net的新概念与编程方法.小小的回贴很难说清楚很多问题,所以利用一下文档中心这片广阔的天地,进行更深入的探讨.本人水平有限,不免错误与遗漏多多,请朋友们批评指正. 基本的想法是,写一系列的文章,讲解一下vb.net与vb的区别,vb.net中的新概念,vb.net控件的使用,vb.net解决问题的新方法.如果时间允许,我希望自己能快快开展这个工作.更重要的是网友们的支持与鼓励会是我继续的

VB.net中HOOK的应用(一)

本文不是讲解Hook原理的文章,仅是讨论一下在vb.net如何调用Hook功能,以及vb.net中API使用的变化问题. 由于Hook种类较多,本文中以最常用的键盘Hook为例进行分析. 一.先来看一下在vb中是如何实现的.截的是空格键.表现的目标是:一个form,上面有一个textbox,不管焦点是否落在textbox里,按空格键,不会在textbox中输入一个空格,而是变成在textbox中写入一句话:"HOOK成功!" 1.在一个Module中写入下列代码: 调用的API的申明:

在VB.net 中连接MySql的类库

    这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 在这个库中有三个类: ManipStringForMySQL: 此类修改SGBD的字符串 MySQL_Requettes: 发送请求 MySQL_Utils : 对SGBD数据进行测试 下面是使用此类库操作MySql的一个例子 //对DataSet进行操作 Public Shared Function MyODBCDataset(ByVal ReqSQL A

在VB.net中连接MySql的类库

这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mysql.com/downloads/api-myodbc-3.51.html Driver ODBC.NET下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=6CCD8427-1017-4F33-A062-D165078E32B

VB.NET中层次数据绑定TreeView的实现

treeview|数据 提要:在VB6中,常将TreeView用来表示层次数据,但相关的与数据库进行交互的代码,需要大量的采用手工编码;在VB.Net中,由于数据绑定功能的加强及语言特性的增强,可以很容易的实现TreeView与层次数据的绑定,本文将首先建立一个继承自TreeView的 dbTreeView,然后用一个单位(部门)的层次数据与dbTreeView进行数据绑定,并提供了与数据库进行交互的代码. 1.从层次数据的表达方式开始 在本例中,部门表(department)中有五个字段,如下

我的推荐:在VB.NET中寻找App

摘要 使用过Visual Basic 6的开发人员几乎都使用过App这个对象,它的功能强大人所共知,那么Visual Basic .NET中是否也有类似的对象呢?下面将会进一步说明. -------------------------------------------------------------------------------- 目录 1. App简介 2. 在VB.NET寻找类似功能 3. 简单示例 4. 小结 ----------------------------------

VB.NET中声音的播放 Montaque(原作)

VB.NET中声音的播放    Montaque(原作)          由VB6升级为.NET后,有些人不清楚声音的处理,比如程序出错的时候,自定义一个声音播放,或者程序的背景音乐.包括游戏音乐等等.下面介绍几种在VB.NET中计较简单可以实现的方案: 1.  Beep 最简单的一种方法,通过计算机的扬声器发出声响, 声响的音高与持续时间取决于硬件和系统软件,从而随计算机不同而不同. Beepg跟Msgbox等方法位于Microsoft.VisualBasic.Interaction 中,一