C#检查foreach判读是否为null的方法
本文运用图片给大家介绍了C#如何检查foreach
判读其是否为null
,我们下面话不多说,直接来看内容吧。
1、foreach遍历列表或数组时,如果list
或数组为null
,就会报错,如下图:
2、不知道微软封装foreach
的为什么不先检查要遍历的对象是否为null
,这样就导致,我们在写代码时,遍历列表时就要先判断列表是否为null
,如下图:
3、为了简化这一判断是否null
的过程,我写了一个扩展方法,因为列表和数组都继承IEnumerable
接口,所以该扩展方法就扩展在IEnumerable
类型上,为了通用,将这个方法写成了个泛型方法,如下图:
4、这样在遍历列表的地方就不要先判断列表或数组是否为null
了,直接用这个扩展方法即可,如下图:
5、数组也可以哟,如下图:
6、总结
本人技术有限,实现这个简单的扩展方法,希望对大家能有所帮助,如果有大家有疑问或者更好的解决办法可以留言交流。
相关推荐
-
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) 的方法
1 通过System.DBNull判断,网上大部分都使用这个方法. 复制代码 代码如下: DataTable dt; //假设字段为name, dt已经保存了数据dt.rows[0]["name"] == System.DBNull.Value; //判断第一行数据的name字段是否为空 2 通过IsNull判断 复制代码 代码如下: DataTable dt; //假设字段为name, dt已
-
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语句使用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与yield语句的介绍
1. foreach语句 C#编译器会把foreach语句转换为IEnumerable接口的方法和属性. 复制代码 代码如下: foreach (Person p in persons) { Console.WriteLine(p); } foreach语句会解析为下面的代码段. •调用GetEnumerator()方法,获得数组的一个枚举•在while循环中,只要MoveNext()返回true,就一直循环下去•用Current属性访问数组中的元素 复制代码 代码如下: IEnumerator
-
浅谈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用于方法值的返回,其本质并不是一
-
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 coalescing operator
我们可以看下下面的这几个示例来看看这个操作符的使用方法: 复制代码 代码如下: string message = "Hello World"; string result = message ?? "null"; //这里的result的内容是 Hello World 再看下面的这个例子子: 复制代码 代码如下: string message = null; string result = message ?? "It's null"; //在这
-
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
随机推荐
- JSP 中Spring Bean 的作用域详解
- 打造个性_安全的电脑系统图文教程
- javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
- 通过数组给您的文件排序
- C# SQLite序列操作实现方法详解
- Android 判断是否是是全汉字、全字母、全数字、数字和字母等(代码)
- Android 中按home键和跳转到主界面的实例代码
- MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
- PHP 中英文混合排版中处理字符串常用的函数
- Ubuntu14.04 安装配置Tomcat7教程
- javascript 人物逼真行走,已完成
- 简单实现js页面切换功能
- java中处理socket通信过程中粘包的情况
- Android动态加载Activity原理详解
- php验证码实现代码(3种)
- Android自定义带加载动画效果的环状进度条
- 浅谈JSON的数据交换、缓存问题和同步问题
- js/jQuery实现全选效果
- flutter实现轮播图效果
- Python数据分析matplotlib设置多个子图的间距方法