(1)NULL

null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是值类型的。

(2)""和String.Empty

这两个都是表示空字符串。只不过""理论上重新开辟内存空间,而String.Empty指向一处。不过优化器会优化的!

string.Empty不分配存储空间, ""分配一个长度为空的存储空间,所以一般用string.Empty,为了以后跨平台,还是用string.empty。在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:

string s = "";

string s2 = string.Empty;

if (s == string.Empty) {

//

}if语句成立

判定为空字符串的几种写法,按照性能从高到低的顺序是:

s.Length == 0  优于 s == string.Empty  优于 s == ""

注意:

1.string str1="" 和 string str2=null 的区别。str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。

2.在net 2.0中可用String.IsNullOrEmpty(param)检测是否为null或为空值。

当Request.QueryString的标识不存在时返回的是NULL,可以在空串上调用string类的所有方法,但null不可以,不可以在null上调用方法。

(3)DBNULL

DBNull在DotNet是单独的一个类型, 该类用于指示不存在某个已知值(通常在数据库应用程序中)。该类只能存在唯一的实例,DBNULL.Value, DBNull唯一作用是可以表示数据库中的字符串,数字,或日期,为什么可以表示原因是DotNet储存这些数据的类(DataRow等)都是以 object 的形式来储存数据的。对于 DataRow , 它的 row[column] 返回的值永远不为 null , 要么就是具体的为column 的类型的值 。 要么就是 DBNull 。 所以 row[column].ToString() 这个写法永远不会在ToString那里发生NullReferenceException。DBNull 实现了 IConvertible 。 但是,除了 ToString 是正常的外,其他的ToXXX都会抛出不能转换的错误。

您可以通过将从数据库字段检索到的值传递给 DBNull.Value.Equals 方法,确定该字段值是否为 DBNull 值

(4)Convert.IsDBNull()

Convert.IsDBNull()返回有关指定对象是否为 DBNull 类型的指示,即是用来判断对象是否为DBNULL的。其返回值是True或Flase。

PS:本文经个人网上收集整理,并加入开发中遇到的问题,在此澄清请不要做人身攻击,本文的目的只是只是共享

转载于:https://www.cnblogs.com/marssl/archive/2009/05/31/1493189.html

C#中的空值的判断(转)相关推荐

  1. python判断txt文件是否为空_Python中的空值怎么判断

    本文中所有代码均运行在Python 2.7上 在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:if a is None: do something. else: do th ...

  2. 学习:C#中的空值的判断(转)

    (1)NULL null 关键字是表示不引用任何对象的空引用的文字值.null 是引用类型变量的默认值.那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是 ...

  3. arcgis使用栅格计算器con与ISNULL函数,对栅格数据中缺失值/空值进行设置

    使用isnull函数,可以将栅格数据中的空值进行判断,使用con条件函数,可以对空值进行设置. isnull函数逐个像元来确定输入栅格中哪些值为 NoData.如果输入值为 NoData,则返回 1, ...

  4. pandas 空字符串与na区别_pandas中对nan空值的判断

    pandas基于numpy,所以其中的空值nan和numpy.nan是等价的.numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool( ...

  5. js小白操作:判断空值、判断数组最大最小值、判断map是否为空、字符串转int、取float型小数点后两位数、判断数组中是否包含某个对象

    js小白操作:判断空值.判断数组最大最小值.判断map为空的情况.字符串转int Js基础操作 一.判断空值 undefined 和 null 二.判断map是否为空 三.取数组最大最小值 1.使用 ...

  6. python 列表表达式 if_python中if else如何判断表达式成立?

    我们都知道,if是判断语句.那么在电脑程序中,我们就要输入自己想要的条件,然后得出一个结论.顺便要说的是if后面跟的条件没有限制,所以小伙伴们在使用的时候不用怕出错啦.那么,小编今天来讲讲python ...

  7. 解决asp.net(C#)中 DataTime 空值 null为0001-01-01

    SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究 在SqlServer 2000中datetime 的空值即默认值为1900-01-01 00:00:00,C#中 ...

  8. 关于生sql中的空值

    在数据库中的空值无非就是两种形式的表示 一种是什么都没有,一种是以NuLL显示的 , 那么在C# 读取出来怎么判断呢, DtStatus.Rows[0]["FetchCode"]. ...

  9. [转载] 用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())

    参考链接: Python中的numpy.all 最近在做数据处理的时候,遇到个让我欲仙欲死的问题,那就是数据中的空值该如何获取. 我的目的本来是获取数据中的所有非零且非空值,然后再计算获得到的所有数据 ...

最新文章

  1. Python 包管理工具解惑
  2. centos 创建 logrotate 进行日志分割
  3. 图数据库Neo4j全栈Web技术解密
  4. 2017年第十一届中国电子产业品牌盛会盛大开启
  5. 使用VirtualAlloc在0x400000处申请内存
  6. 如何在 Ubuntu 12.04 Server 中安装图形用户界面
  7. Android 为应用添加默认加载页
  8. 系统架构师学习笔记-信息系统基础知识
  9. WinFrm程序使用的图片展示控件.带删除的
  10. JWT/JJWT JSON WEB TOKEN介绍和使用
  11. U3D脚本开发基础(转载)
  12. 低效能人士的七个坏习惯
  13. Win10设置WSL大小写敏感
  14. WPF捕获事件即使这个事件被标记为Handled
  15. python w3cschool_python|w3cschool菜鸟教程
  16. CAN FD安全通信
  17. ctfhub git log泄露
  18. 北京大学计算机考博英语,2019年北京大学博士英语考题回忆
  19. 许昌一高2021年高考成绩查询,2021年许昌最好的高中排名,许昌重点高中升学率排名...
  20. lateX 编译中文_VS CODE+LATEX 完全解决方案(2020年8月28号)

热门文章

  1. No subject
  2. 相参、相参积累和相参雷达
  3. 关于STM32的变量定义
  4. 建空列表list,数组array,矩阵matrix
  5. 机器翻译Seq2Seq模型的启发-人工神经网络系统-诞生
  6. AltiumDesigner PCB导入CAD
  7. ASP.NET Core Web APi获取原始请求内容
  8. 如何不用重启在CentOS 7/ RHEL 7虚拟机中添加一块新硬盘
  9. 【转】android是32-bit系统还是64-bit系统
  10. [蘑菇街] 搜索、算法团队招募牛人啦-年底了走过路过不要错过 - V2EX