注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

︷帅氣~~の醜男

这仅仅是笔记,仅为了方便查阅而已。

 
 
 

日志

 
 

关于VB的0、""(空字符串)、Null、Empty、与 Nothing 的区别  

2010-07-29 17:24:43|  分类: 编程相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Option Explicit

Private Sub Command1_Click()
  
Dim A As Variant
  
Dim B As String
  
Dim C As Integer
  
Dim D As Object

   Debug.Print A
= Empty     '一个尚未初始化的variant变量是empty
   A = Null: Debug.Print A   '一个variant变量可以赋值为Null
   Debug.Print IsNull(A)     '判断一个varint变量是否为Null
   Debug.Print B = ""        '判断一个string变量为""(空字符串)
   Debug.Print C             '定义一个integer变量后,它自动初始化为0
   Debug.Print D Is Nothing  '定义一个object变量后,它自动初始化为nothing
  
End Sub

'A 等于 Empty, 因为尚未初始化的“不定型变量”都等于 Empty。
'
但如果检测 A = "" 或 A = 0, 也都可以得到 True 值。

'B 等于 "", 未初始化或初始化为""的“非固定长度字符串变量”都等于""。
'
但请注意'B<> Null。

'C 等于 0, 这个还有问题吗?

'D 等于 Nothing, 尚未初始化的或用set设置为nothing的对象变量都等于 Nothing,
'
但请不要使用 D = Nothing , 而要使用 D Is Nothing 来判断 D 是否等于 Nothing,
'
因为判断对象是否相等的符号是 Is 不是 = 。

'最令人迷惑的地方是 Null 这个保留字,请看以下语句:
'
A = Null
'
Print A = Null
'
Print A <> Null
'
结果都是输出 Null(不是 True 也不是 False),这是因为任何一个运算式只要含有 Null,
'
则该运算式就等于 Null,
'
实际上想要判断某一数据是否为 Null 绝对不能使用:
'
If A = Null Then ' 永远都会得到 Null
'
而要使用:
'
If IsNull(A) Then

'哪一种数据会等于 Null 呢?除了含有 Null 运算式之外, 就是没有输入任何数据的
'
“数据字段”(在数据库中) 会等于 Null。
  评论这张
 
阅读(1068)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017