C#检查foreach判读是否为null的方法
本文运用图片给大家介绍了C#如何检查foreach
判读其是否为null
,我们下面话不多说,直接来看内容吧。
1、foreach遍历列表或数组时,如果list
或数组为null
,就会报错,如下图:
2、不知道微软封装foreach
的为什么不先检查要遍历的对象是否为null
,这样就导致,我们在写代码时,遍历列表时就要先判断列表是否为null
,如下图:
3、为了简化这一判断是否null
的过程,我写了一个扩展方法,因为列表和数组都继承IEnumerable
接口,所以该扩展方法就扩展在IEnumerable
类型上,为了通用,将这个方法写成了个泛型方法,如下图:
4、这样在遍历列表的地方就不要先判断列表或数组是否为null
了,直接用这个扩展方法即可,如下图:
5、数组也可以哟,如下图:
6、总结
本人技术有限,实现这个简单的扩展方法,希望对大家能有所帮助,如果有大家有疑问或者更好的解决办法可以留言交流。
相关推荐
-
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语句遍历队列(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#三种判断数据库中取出的字段值是否为空(NULL) 的方法
1 通过System.DBNull判断,网上大部分都使用这个方法. 复制代码 代码如下: DataTable dt; //假设字段为name, dt已经保存了数据dt.rows[0]["name"] == System.DBNull.Value; //判断第一行数据的name字段是否为空 2 通过IsNull判断 复制代码 代码如下: DataTable dt; //假设字段为name, dt已
-
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#使用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#中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#使用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# 操作符?? null coalescing operator
我们可以看下下面的这几个示例来看看这个操作符的使用方法: 复制代码 代码如下: string message = "Hello World"; string result = message ?? "null"; //这里的result的内容是 Hello World 再看下面的这个例子子: 复制代码 代码如下: string message = null; string result = message ?? "It's null"; //在这
-
浅谈C# 中的可空值类型 null
C# 不允许把 null 赋给一个值类型的数据.在 C# 中,以下语句是非法的: 复制代码 代码如下: int a = null; // 非法 但是,利用 C# 定义的一个修饰符,可将一个变量声明为一个可空(nullable)值类型.可空值类型在行为上与普通值类型相似,但可以将一个 null 值赋给它.如下所示: 复制代码 代码如下: int? a = null; // 合法 当把一个变量定义为可空值类型时,该变量依然可以被赋值为 0,代码如下所示: 复制代码 代码如下: usi
-
C#难点逐个击破(8):可空类型System.Nullable
null与void null值用来表示数据类型未被赋予任何值,它是一种引用类型:void表示没有类型,或者说是没有任何值.null与void的区别可以认为void是根本没有,而null是一个空箱子,里面什么都没有. null值只能赋值给引用类型,这里注意到string也是一种引用类型:引用类型在C中称为"指针",即存放变量位置的内存空间位置.将变量设为null,会显式地设置引用,且它本身不指向任何内存位置: null值赋给值类型将导致编译错误. void用于方法值的返回,其本质并不是一
随机推荐
- delphi制作wav文件的方法
- js仿百度音乐全选操作
- oracle中UPDATE nowait 的使用方法介绍
- Oracle创建带有参数的视图代码介绍
- HTTP 错误 500.19 - Internal Server Error解决办法详解
- Java递归算法简单示例两则
- thinkphp框架下404页面设置 仅三步
- linux二进制通用包安装mysql5.6.20教程
- JavaScript中使用Object.prototype.toString判断是否为数组
- PHP定时任务延缓执行的实现
- JavaScript定时器详解及实例
- SQL Server全文检索查询浅析
- php使用PDO下exec()函数查询执行后受影响行数的方法
- C++ 排序插入排序实例详解
- VBS 批量读取文件夹内所有的文本到Excel的脚本
- 从零开始学习Node.js系列教程四:多页面实现的数学运算示例
- 老生常谈MYSQL模式匹配 REGEXP和like的用法
- JavaScript 基础函数_深入剖析变量和作用域
- 买电脑应当看清数字后面的数字!!
- 第六节--访问属性和方法