网站制作学习网ASP→正文:Empty和Null区别
字体:

Empty和Null区别

ASP 2008/8/18 22:02:07  点击:不统计


关键词:Empty,null ,Empty的用法,null的用法,Empty和null区别,Empty与null有什么不同

Vriant数据类型是所有没被显示声明(如Dim、Private、或Static等语句)为其他类型变量的数据类型。Vriant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。

Vriant也可以包含Empty、Erray、Nothing和Null等特殊值。Empty值用来标记标记尚未初始化(给定初始值)的Vriant变量。内含Empty的Variant在熟知的上下文中表示0,如果是用在字符串的上下文中表示零长度的字符串(“”)。Null表示未知数据或丢失的数据,即无效数据

。不应该将Empty与Null弄混。Null是表示Variant变量确实含有一个无效数据

当有些变量可能出现Null值时,可将该变量定义为Variant数据类型。Variant数据类型为编程者提供很大的灵活性,但牺牲了代码的速度和长度。

让我们看以下问题,经过以下的叙述之后,变量A、B、C、D分别等于0、“”、Null、Empty、Nothing的哪一个?

Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A等于Empty,因为尚未初始化的[不定型变量]都等于Empty。但如果检测A=“”或A=0,也都可以得到true值
B等于“”,因为尚未初始化的非固定长度[字串]都等于“”,但请注意B<>Null
C等于0,这个还有问题吗?
D等于Nothing,尚未设定有物件的[物件变量]都等于Nothing,但请不要使用D=Nothing,而要使用D Is Nothing来判断D是否等于Nothing,因为判断是否相等的符号是Is不是=。
最令人迷惑的地方是Null这个保留字,请看以下语句:
Print X=Null
Print X<>Null
结果都是输出Null(不是true也不是false),这是因为任何一个运算式只要含有Null,则该运算式就等于Null,实际上想要判断某一数据是否为Null绝对不能使用:
if x=Null Then'永远都会得到Null
而要使用:
if IsNull(x) Then
哪一种数据会等于Null呢?除了含有Null运算式之外就属没有输入任何数据的【数据字段】(在数据库中)会等于Null。

·上一篇:asp读html >>    ·下一篇:怎么强制要求显式声明变量 >>
推荐文章
最新文章