时间:2021-04-16
(1)先了解几个与空类型相关的关键字和对象
Null : 关键字表示不引用任何对象的空引用,它是所有引用类型变量的默认值,在2.0版本之前也就只有引用变量类型可以为null,如(string a=null)但在c# 2.0版本之后,Net也引入了可以为Null的值类型,但变量在定义的时候方式有所不同,如:int ? a=null。不在内存中开辟内存地址,可用于引用是否可用。
DBNULL:是一个唯一类,也就是说这种类型的实例只有一个,即DBNull.Value。主要用来指示数据库中的字段值为空(null)时在.Net中映射的值,另外还可以用于在 COM Interop 中区分 VT_NULL 变量(与空对象关联)和 VT_EMPTY 变量(与 DBNull.Value 实例关联)。
String.Empty和"":这两个都表示空字符串,空字符串是一个特殊的字符串,所以它依然是一个字符串实例,也就是说它在内存中依然分配了明确的地址。
Convert.IsDBNull():返回有关指定对象是否为 DBNull 类型的指示。即是用来判断对象是否为DBNULL的。其返回值是True或Flase。主要用于和数据库操作相关的值判断。
(2)各种的使用方法和效率
对象的判断:使用Null可用于任何引用变量是否为空的判断,是最基本的对象为空判断方式,在和数据库相关的操作中使用DBNull.vaule或者Convert.IsDBNUll。
字符串判断:string在C#中也是一个引用类型,但其又具有一定的特殊性。我们在使用string时,往往会把“变量值为空的字符串对象”和“变量值为空字符的字符串对象”搞混。所以经常会因为对此理解不深引起好多问题,因为string是我们开发过程使用最频繁的类型之一,对于字符串的判断方法,通过对网上资料的整理和自己的实际操作经验现总结如下:
string str
1:string.IsNullOrEmpty == str 这种方法是我最喜欢用的,它不但一次性能判断"空的字符串变量",还能判断“值为空字符串的变量”,并且还可以让代码简洁美观。判断的效率也不算低。
2:str.Length == 0 这种方式,我不怎么喜欢用,不推荐使用。在网上看和自己的实际测试,确实能证明这种判断方式的执行效率最高,但要使用它你必须保证字符串不null,如果为null就会报出异常,
3.str == string.Empty 或 str == "" 这两种方式,我也不推荐使用,他只能判断“值为空字符串”的字符串变量,而且效率比较低
4.str == null 这种方式我也不怎么推荐,原因和3一样。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#判断多个文本框是否为空的方法。分享给大家供大家参考。具体实现方法如下://////自定义方法,判断项目中txt标签是否为空//////要进行判
IOS开发之对象为空的判断(nil、null)详解前言:在开发中,会遇到很多空的情况,有时候取得对象(null),还有时候会得到的情况,我们需要判断是否为空,进
1、判断实体对象是否为空2、判断对象所有属性是否为空3、特别注意,实体类中如果有基本数据类型,会影响判断packagecom.liuxd.object;impo
在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种:1、if(
最近项目遇到判断空对象的一个问题,查阅相关资料再进行总结一下。判断空对象不比判断空字符串之类的,因为空对象也是一个对象,需要单独分配内存,而不是像字符串那样为空