Empty 专用于 Variant 变量,表示未赋值。Variant 变量是合并了多种数据类型的组合变量。Empty 表示全部清空的状态。 Null 常见的有三种情况: 1 与指针有关的变量。 当指针值为 0 时,就是 Null。例如一个字符串,实际上由指针和缓冲区组成,当指针是 0 的时候,就是还没有分配缓冲区,此时它就是 Null。 2 数据库字段 未赋值的状态就是 Null。 3 对象变量 未实例化的状态就是 Null。这个其实有点类似指针的情况。 Empty 和 Null 都不是真实的值,而是状态。所以判断它们时,用 If x Is Null Then 或 If IsNull(x) Then 的形式,而不可 If x = Null Then。 Empty 和 Null 的一个区别是,包含 Empty 的变量参加运算时,被当作 0 或空字符串来处理。而 Null 将使结果也成为 Null。 在 VB 中,None 通常是作为属性值常量的标识来使用的。例如,Form 的 BorderStyle 属性设置为 0 - None,时,就是没有边框。VB 有一个内部常量 vbNone,值 = 0。 Blank 是 Visual FoxPro 中的东西,VB 中没有。 ******************************************************************************* 下面是 MSDN 中的有关内容: Null 值 Variant 数据类型还可包含一特定值:Null。Null通常用于数据库应用程序,表示未知数据或丢失的数据。 由于在数据库中使用 Null 方法,Null 具有某些唯一的特性: 对包含 Null 的表达式,计算结果总是 Null。于是说 Null 通过表达式“传播”;如果表达式的部分之值为 Null,那么整个表达式的值也为 Null。 将 Null 值、含 Null 的 Variant 变量或计算结果为 Null 的表达式作为参数传递给大多数函数,将会使函数返回 Null。 Null 值经由返回 Variant 数据类型的内在函数传播。 也可用 Null 关键字指定 Null 值。 Z = Null 也可用 IsNull 函数测试 Variant 变量是否包含 Null 值。 If IsNull (X) And IsNull (Y) Then Z = Null Else Z = 0 End If 如果将 Null 值赋予 Variant 以外的任何其它类型变量,则将出现可以捕获的错误。而将 Null 值赋予 Variant 则不会发生错误,Null 将通过包含 Variant 变量的表达式传播(尽管 Null 并不通过某些函数来传播)。可以从任何具有 Variant 返回值的函数过程返回 Null。 除非明确将 Null 赋予变量,否则变量不会设置成 Null 值,所以,如果不在应用程序中使用 Null,就不必书写测试 Null 和处理 Null 的程序。
知识点
最新推荐文章于 2023-02-22 12:43:38 发布