C#检查foreach判读是否为null的方法
本文运用图片给大家介绍了C#如何检查foreach判读其是否为null,我们下面话不多说,直接来看内容吧。
1、foreach遍历列表或数组时,如果list或数组为null,就会报错,如下图:

2、不知道微软封装foreach的为什么不先检查要遍历的对象是否为null,这样就导致,我们在写代码时,遍历列表时就要先判断列表是否为null,如下图:

3、为了简化这一判断是否null的过程,我写了一个扩展方法,因为列表和数组都继承IEnumerable接口,所以该扩展方法就扩展在IEnumerable类型上,为了通用,将这个方法写成了个泛型方法,如下图:

4、这样在遍历列表的地方就不要先判断列表或数组是否为null了,直接用这个扩展方法即可,如下图:

5、数组也可以哟,如下图:

6、总结
本人技术有限,实现这个简单的扩展方法,希望对大家能有所帮助,如果有大家有疑问或者更好的解决办法可以留言交流。
相关推荐
-
C#使用foreach语句简单遍历数组的方法
本文实例讲述了C#使用foreach语句简单遍历数组的方法.分享给大家供大家参考.具体如下: using System; public class jb51demo { public static void Main() { int sum = 0; int[] nums = new int[10]; // give nums some values for(int i = 0; i < 10; i++) nums[i] = i; // use foreach to display and su
-
C#三种判断数据库中取出的字段值是否为空(NULL) 的方法
1 通过System.DBNull判断,网上大部分都使用这个方法. 复制代码 代码如下: DataTable dt; //假设字段为name, dt已经保存了数据dt.rows[0]["name"] == System.DBNull.Value; //判断第一行数据的name字段是否为空 2 通过IsNull判断 复制代码 代码如下: DataTable dt; //假设字段为name, dt已
-
C#使用foreach语句遍历二维数组的方法
本文实例讲述了C#使用foreach语句遍历二维数组的方法.分享给大家供大家参考.具体分析如下: 如果通过for语句循环遍历二维数组需要两重循环才可以,二foreach语句只需要一次可以完全遍历整个二维数组,下面是代码演示 using System; public class w3demo{ public static void Main() { int sum = 0; int[,] nums = new int[3,5]; // give nums some values for(int i
-
C#中foreach语句使用break暂停遍历的方法
本文实例讲述了C#中foreach语句使用break暂停遍历的方法.分享给大家供大家参考.具体分析如下: 下面的代码演示了在C#中使用foreach时如何通过break语句暂停数据遍历 using System; public class w3demo { public static void Main() { int sum = 0; int[] nums = new int[10]; // give nums some values for(int i = 0; i < 10; i++) n
-
c# 操作符?? null coalescing operator
我们可以看下下面的这几个示例来看看这个操作符的使用方法: 复制代码 代码如下: string message = "Hello World"; string result = message ?? "null"; //这里的result的内容是 Hello World 再看下面的这个例子子: 复制代码 代码如下: string message = null; string result = message ?? "It's null"; //在这
-
C#难点逐个击破(8):可空类型System.Nullable
null与void null值用来表示数据类型未被赋予任何值,它是一种引用类型:void表示没有类型,或者说是没有任何值.null与void的区别可以认为void是根本没有,而null是一个空箱子,里面什么都没有. null值只能赋值给引用类型,这里注意到string也是一种引用类型:引用类型在C中称为"指针",即存放变量位置的内存空间位置.将变量设为null,会显式地设置引用,且它本身不指向任何内存位置: null值赋给值类型将导致编译错误. void用于方法值的返回,其本质并不是一
-
C#使用foreach语句遍历队列(Queue)的方法
本文实例讲述了C#使用foreach语句遍历队列(Queue)的方法.分享给大家供大家参考.具体如下: using System; using System.Collections; public class QueuesW3 { static void Main(string[] args) { Queue a = new Queue(10); int x = 0; a.Enqueue(x); x++; a.Enqueue(x); foreach (int y in a) { Console.
-
C#:foreach与yield语句的介绍
1. foreach语句 C#编译器会把foreach语句转换为IEnumerable接口的方法和属性. 复制代码 代码如下: foreach (Person p in persons) { Console.WriteLine(p); } foreach语句会解析为下面的代码段. •调用GetEnumerator()方法,获得数组的一个枚举•在while循环中,只要MoveNext()返回true,就一直循环下去•用Current属性访问数组中的元素 复制代码 代码如下: IEnumerator
-
C#使用foreach遍历哈希表(hashtable)的方法
本文实例讲述了C#使用foreach遍历哈希表(hashtable)的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collection; namespace HashSampleApplication1 { class Program { static void Main() { Hashtable hash = new Hashtable(); hashtable[1] = "kaka"; hashtable[2] = &qu
-
浅谈C# 中的可空值类型 null
C# 不允许把 null 赋给一个值类型的数据.在 C# 中,以下语句是非法的: 复制代码 代码如下: int a = null; // 非法 但是,利用 C# 定义的一个修饰符,可将一个变量声明为一个可空(nullable)值类型.可空值类型在行为上与普通值类型相似,但可以将一个 null 值赋给它.如下所示: 复制代码 代码如下: int? a = null; // 合法 当把一个变量定义为可空值类型时,该变量依然可以被赋值为 0,代码如下所示: 复制代码 代码如下: usi
随机推荐
- SWT(JFace) 打印功能
- ajax三级联动下拉菜单效果
- jquery动态添加元素事件失效问题解决方法
- javascript hasFocus使用实例
- javascript实现base64 md5 sha1 密码加密
- JavaScript模拟可展开、拖动与关闭的聊天窗口实例
- PHP Pear 安装及使用
- ERROR 1406 : Data too long for column 解决办法
- 图片批量压缩大小脚本分享
- jquery中ajax学习笔记一
- 浅析javascript闭包 实例分析
- 浅谈JavaScript 数据属性和访问器属性
- 微信小程序 教程之数据绑定
- JavaScript实现存储HTML字符串示例
- Android实现的状态栏定制和修改方法
- BootStrap栅格系统、表单样式与按钮样式源码解析
- 使用PHP接受文件并获得其后缀名的方法
- 代码详解javascript模块加载器
- JS事件流与事件处理程序实例分析
- PLSQL developer12汉化过程
