zoukankan      html  css  js  c++  java
  • IsNull和IsEmpty的区别

    一个是对象为空(IsNull),一个是值为空(IsEmpty)

    IsNull指任务类型变量是否为空包括对象类型的变量。

    IsNull函数:

    功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。

    IsEmpty函数:

    功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则函数返回False。

    IsNull的一般场合:

    1.对于值为NULL的,其IsNull返回为True;

    2.对于数据库来说,看是否是NULL则更简单,若是NULL数据,则数据库中的数据直接就是个“NULL”.   

    事实上我们用的最多的还是IsEmpty和零长度字符串,下面我们要重点讲讲这两个的区别(限能力有限,有错的地方还望不吝赐教):

         何时才能算是空数据(Empty),这个也不难说:
         1 没有初始化值的变量,不管这个变量有没有先使用Dim声明。
         2 直接使用 变量 = Empty。

         何时算是零长度字符串(空串)?
         a = ""
         这就是空串,说白了,也还是个字符串,就把他当成字符串理解,零长度字符串并不等同于NULL也不等同于Empty。知道数据是空串(="")还是空值(=Empty)可就显得十分必要了,或许听名字我们都知道他们的细微区别了,空串怎么说也是字符串,空值的类型就不清楚了,可能是字符串,所以对于一个未赋值的变量,其值等价于:Empty,""(零长度字符串),0(使用Cint转换后),这可以从判断一个Session是否存在的写法中得到验证。

           对于一个表单接收过来的值,如果文本框内容什么都没写,那它的值又是多少呢?是Empty还是空串?
    看个简单的例子:
           为了能正确判断值类型,我们使用VarType函数:返回指示变量子类型的值。
           函数返回下列值:
           8 字符串
           0 Empty(未初始化)
           1 NULL(无有效数据)

    下面看个简单例子:

    以下是代码片段:

     <% If Request.QueryString("smt") <> "" Then txtName = VarType(Request.QueryString("txtName")) Response.Write(txtName) End If %> <form name="test.asp" method="get"> <input type="text" name="txtName" /> <input type="submit" name="smt" value="确定提交" /> </form>
    文本框什么都没写,按下按钮后,返回值是“8”,说明,对于没有填写数据的文本框其值为零长度字符串而不是Empty。

    对于判断Session是否存在,看个例子:
    以下是代码片段,您可以CTRL+A,然后复制。 <% Response.Write(varType(Session("name"))) %>
    其返回值为:“0”,也就是Empty。那么对于判断是否有Session尽管有多个方法,但其实使用IsEmpty(Session("name"))来判断才是比较合适的

  • 相关阅读:
    《C#从现象到本质》读书笔记(八)第10章反射
    《C#从现象到本质》读书笔记(七)第9章 泛型
    《C#从现象到本质》读书笔记(六)第8章委托和事件
    《C#从现象到本质》读书笔记(五)第5章字符串第6章垃圾回收第7章异常与异常处理
    求1+2+……+n的和
    回溯法的应用举例
    回溯法
    翻转单词顺序列
    左旋转字符串
    和为S的两个数字
  • 原文地址:https://www.cnblogs.com/Eleanore/p/2518201.html
Copyright © 2011-2022 走看看