C#检查foreach为null判断
1、foreach遍历列表或数组时,如果list或数组为null,就会报错,如下图:
2、不知道微软封装foreach的为什么不先检查要遍历的对象是否为null,这样就导致,我们在写代码时,遍历列表时就要先判断列表是否为null,如下图:
3、为了简化这一判断是否null的过程,我写了一个扩展方法,因为列表和数组都继承IEnumerable接口,所以该扩展方法就扩展在IEnumerable类型上,为了通用,将这个方法写成了个泛型方法,如下图:
4、这样在遍历列表的地方就不要先判断列表或数组是否为null了,直接用这个扩展方法即可,如下图:
5、数组也可以哟,如下图:
6、总结
本人技术有限,实现这个简单的扩展方法,希望对大家能有所帮助,能推荐的话更好了,谢谢。
C#检查foreach为null判断的更多相关文章
- C#空值和null判断
一.空值判断效率 string s = ""; if(s == ""){} if(s == string.Empty){} if (string.IsNullO ...
- ES2020链判断运算符?.和Null判断运算符??
链判断运算符 ?. 业务场景: 1 // 假设data是个数组,如果data没有值,为undefinded,则直接复制会报错,因为没有length这个属性 2 3 const dateCount = ...
- 链判断运算符和Null 判断运算符
链判断运算符 如果我们要获取一个对象的深层嵌套属性,例如获取文章标题res.data.article.title,然后为了安全起见,我们肯定不能直接这样获取,万一res对象没有article属性了呢, ...
- 【小计】新人Tostring前忘记Null判断的处理
ToString和string.Concat(可屏蔽Null的异常)性能相差不大,一些中小项目完全可以用Concat(新人容易忘记判断Null的情况,遇到太多了,所以建议重写tostring方法,内部 ...
- null 和 NULL 判断
遇到问题,服务器传回 null,我擦嘞,接收不了. 解决如下: NULL 直接 判断就好,能在 xcode 上直接敲出 null 的话 可以 ==[NSNull class] 或者[respons ...
- 元素NULL判断
元素取值val() val()方法主要用来获取form元素的值像input select textarea.在对select取值的时候当没有option被选定时val()会返回null,至少一个opt ...
- sql when null 判断
Sql Server 中使用case when then 判断某字段是否为null,和判断是否为字符或数字时的写法不一样,如果不注意,很容易搞错 错误方法: CASE columnName WHEN ...
- hive 空值、NULL判断
hive中空值判断基本分两种 (1)NULL 与 \N hive在底层数据中如何保存和标识NULL,是由 alter table name SET SERDEPROPERTIES('serializa ...
- StackOverflow之旅<1>------{去掉烦人的"!=null"判断}
问题 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != null) { someobject.doCalc(); } 最终,项目中会存在大量判空代码,多么丑陋繁冗!如何 ...
随机推荐
- 基于visual Studio2013解决算法导论之024双向链表实现
题目 双向链表的实现 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <time.h> #i ...
- Pison geeker
Pison on scriptogr.am Pison Abraham Lincoln: "Nearly all men can stand adversity, but if you wa ...
- sed 工具简介
sed 工具简介sed 可以分析 Standard Input (STDIN) 的数据, 然后将数据经过处理后,再将他输出到 standrad out (STDOUT) 的一个工具. 至于处理呢?可以 ...
- spring MVC 如何获取session并实现传值到前台
后台获取session: @RequestMapping("/usrlogin") public ModelAndView usrlogin(@RequestParam Strin ...
- 运行复制的ZooKeeper 部署
运行复制的ZooKeeper 运行ZooKeeper 在一个独立模式下是方便评估的, 一些开发,和测试. 但是在生产,你应该运行ZooKeeper 在复制模式.一个复制的servers group 在 ...
- ArrayList内元素按照字典排序
package day08; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; ...
- 初入Android--Activate生命周期
Activate的主要生命周期 (注意:这只是主要的生命周期,而不是完整的生命周期方法,其中的两个周期之间可能还执行了其他的一些方法) 每个时刻在屏幕上的状态 进入onCreate方法:Activat ...
- 重操JS旧业第五弹:函数
函数在任何编程语言中起着非常重要的位置,因为他是功能的最小单元,在js中函数是一种类型 Function 1 申明与定义 显示声明:function cc(){};函数名其实是函数的一个指针,函数名某 ...
- delphi json(CDS包含了Delta数据包)
在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包 ...
- 对于面向对象的理解(JAVA)
JAVA 是一门优美的面向对象的语言.那问题就来了什么是对象,这个问题有一个简单的诠释 “万物皆对象”.那么在面向对象编程中对象是类的一个实例,那么什么是类呢?类是一组相似对象的共有特征的抽象.类有什 ...