(空字串)、Null、Empty、与Nothing的区别
2006-02-27 11:44:07 来源:WEB开发网核心提示:先回答以下问题吧!经过以下的叙述之后,变量A、B、C、D分别等于0、""、Null、Empty、Nothing的哪一个?DimADimBAsStringDimCAsIntegerDimDAsObjectA等于Empty,(空字串)、Null、Empty、与Nothing的区别,因为尚未初始化的「不定
先回答以下问题吧!经过以下的叙述之后,变量A、B、C、D分别等于0、
""、Null、Empty、Nothing的哪一个?
DimA
DimBAsString
DimCAsInteger
DimDAsObject
A等于Empty,因为尚未初始化的「不定型变量」都等于Empty。但如果检
测A=""或A=0,也都可以得到True值。
B等于"",因为尚未初始化的非固定长度「字串」都等于""。但请注意
B<>Null。
C等于0,这个还有问题吗?
D等于Nothing,尚未设定有物件的「物件变量」都等于Nothing,但请不
要使用D=Nothing,而要使用DIsNothing来判断D是否等于Nothing,
因为判断是否相等的符号是Is不是=。
最令人迷惑的地方是Null这个保留字,请看以下语句:
PRintX=Null
PrintX<>Null
结果都是输出Null(不是True也不是False),这是因为任何一个运算式只
要含有Null,则该运算式就等于Null,实际上想要判断某一数据是否为Null
绝对不能使用:
IfX=NullThen'永远都会得到Null
而要使用:
IfIsNull(X)Then
哪一种数据会等于Null呢?除了含有Null运算式之外,就属没有输入任
何数据的「数据字段」(在数据库中)会等于Null。->
""、Null、Empty、Nothing的哪一个?
DimA
DimBAsString
DimCAsInteger
DimDAsObject
A等于Empty,因为尚未初始化的「不定型变量」都等于Empty。但如果检
测A=""或A=0,也都可以得到True值。
B等于"",因为尚未初始化的非固定长度「字串」都等于""。但请注意
B<>Null。
C等于0,这个还有问题吗?
D等于Nothing,尚未设定有物件的「物件变量」都等于Nothing,但请不
要使用D=Nothing,而要使用DIsNothing来判断D是否等于Nothing,
因为判断是否相等的符号是Is不是=。
最令人迷惑的地方是Null这个保留字,请看以下语句:
PRintX=Null
PrintX<>Null
结果都是输出Null(不是True也不是False),这是因为任何一个运算式只
要含有Null,则该运算式就等于Null,实际上想要判断某一数据是否为Null
绝对不能使用:
IfX=NullThen'永远都会得到Null
而要使用:
IfIsNull(X)Then
哪一种数据会等于Null呢?除了含有Null运算式之外,就属没有输入任
何数据的「数据字段」(在数据库中)会等于Null。->
[]
更多精彩
赞助商链接