检查对象是否为NULL或者为Empty

不管是在Winform开发,还是在asp.net 开发中当从一个数据源中获取数据时你总是不知道这个数据的状态,这个时候总要对她进行一次判断,不过每次进行一次判断总是要写怎么一堆代码,
时间长了,总感觉不太好,于是就有了下面代码的封装,这是一个扩展的泛型方法,写在了System.命名空间下面,省去了重复写这么多代码的时间,每次只要原点调用以下就可以了.

呵呵,

 1 namespace System
 2 {
 3     public static class CheckValueExten
 4     {
 5         /// <summary>
 6         /// 检查当前对象是否为NULL,或者string是NULLOrEmpty
 7         /// </summary>
 8         /// <typeparam name="T"></typeparam>
 9         /// <param name="str"></param>
10         /// <returns></returns>
11         public static bool CheckValue<T>(this  T str)
12         {
13             if (str is string)
14             {
15                 if (!string.IsNullOrEmpty(str.ToString()))
16                 {
17                     return true;
18                 }
19                 else
20                 {
21                     return false;
22                 }
23             }
24             else
25             {
26                 if (str == null)
27                 {
28                     return false;
29                 }
30                 else
31                 {
32                     return true;
33                 }
34             }
35         }
36     }
37 }

源代码

时间: 2024-10-03 18:56:55

检查对象是否为NULL或者为Empty的相关文章

空对象模式(Null Object Pattern)

空对象模式:用一个空对象来取代null实例的检查,空对象实现一个不做任何动作的关系.(消除如if(Object == null) 这样的检查null实例代码) 例子: public abstract class Duck { public String name; public abstract void getName(); } public class ConcreteDuck extends Duck { public ConcreteDuck(String name) { this.na

被遗忘的设计模式——空对象模式(Null Object Pattern)

GoF(四人帮)那本<设计模式 可复用面向对象软件的基础>可谓是设计模式方面的经典之作,其中介绍的23种设计模式, 也可谓是经典中的经典.但是,设计模式的种类绝不仅仅是这23种,除此之外还有很多巧妙可爱的设计模式值得我们学习.这些 被遗忘的设计模式,也可以堪称经典之作.今天我们来一起学习被遗忘的设计模式--空对象模式(Null Object Pattern). 一起看看这个模式会带给我们怎样的惊喜? 一.Pattern name Provide an object as a surrogate

类和对象 nil/Nil/NULL的区别

iOS-----类和对象,nil/Nil/NULL的区别 iOS中类和对象,nil/Nil/NULL的区别 类与对象的概念 类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法). 对象是类的一个实例,是一个具体的事物. 类与对象是抽象与具体的关系. 类其实就是一种数据类型,它的变量就是对象. 类与类之间的关系——继承关系 A是B 如果这句话说的通,在设计程序的时候就可以看成是继承关系. 例如:学生与小学生 小学生也是学生,所以学生是小学生的父类,小学生是学

List对象遍历时null判断

使用for循环遍历list处理list元素时,对null值判断: 1.list为null时空指针异常 2.list不为空,但是list.size()=0时,不执行for循环内代码块 3.list.size()>0,执行for循环,但循环的对象可能为null 1 package collection; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class CollectionTest { 7 8 /**

ARC模式下操作对象无效,检查对象是否被自动释放掉

原文链接: ARC模式下操作对象无效,检查对象是否被自动释放掉 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

C#中NULL,&quot;&quot;,DBNULL,String.Empty,Convert.IsDBNull()的区别

C#中的空值的判断较麻烦,不象在VB6中那么简单,这些各种空值的判断和理解对不熟悉的人来说,可能很麻烦,现就我在使用过程中的一点体会和大家共同分享. (1)NULL null 关键字是表示不引用任何对象的空引用的文字值.null 是引用类型变量的默认值.那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是值类型的. (2)DBNULL DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,DBNull唯一作用是

C#利用反射检查对象属性是否满足正则特性

有时对象的属性需要满足某些正则,若是单独创建方法去一个个验证这些正则太过麻烦,这时我们可以给属性添加正则特性,如下: public class student { [RegularExpression(@"^[a-zA-Z]{1,20}$", ErrorMessage = "英文姓名必须是英文字符,且长度小于20!")] public string EName { get; set; } } 可是有时候对象实例的生成会绕过这些正则检查,例如直接从Excel里数据流写

C# null,string.Empty,&quot;&quot;,DBNull 的区别

[null] null 在C# 中是一个关键字,表示不引用任何对象的空引用的文字值. null 是引用类型变量的默认值. 普通值类型不能为 null. null 在 VS 中定位不出来具体是怎么定义的.一般通过类名映射过来的关键字,都可以定位到声明位置.所以null是比较特殊的. 这个东西要跟踪源头还比较麻烦,感觉找不到具体定义. MSDN上说明很简单:null 关键字是表示不引用任何对象的空引用的文字值. null 是引用类型变量的默认值. 普通值类型不能为 null. stock overf

解决asp.net mvc UpdateModel更新对象后出现null问题的方法

在用asp.net mvc 4.0做项目的时候遇到的这种情况:情况分析:"在填写表单的时候,有一些表单没有填写,留空,然后直接post 提交表单,action中用UpdateModel 来更新model,结果发现那些没有填写的表单字段全部变成null."原因分析:项目中做了判断null不能提交更新到数据库中,所以导致一直提交不上去后来网上查了一下找到了解决办法,我在这里分享一下,方便以后遇到这种情况的朋友可以方便解决解决方法:新建一个类继承DefaultModelBinder usin