c#的那些有效性判断

在开发中合理的对象有效性判断是程序健壮性的重要保障,也有利于提高程序的执行效率。本人简单总结了几个需要判断对象是否为空的例子,分享如下:

一、集合对象中可以包含空对象,遍历集合对象时要同时判断集合中的对象是否为空,例子如下:

二、对象采用as方式转换时,若转换失败,返回空,例子如下:

上面两个是需要添加有效性判断的例子,下面则是可以省略部分判断的例子。

三、根据DataTable名字从DataSet中取值时,不必判断DataSet中的DataTable数量

四、DataTable的Select函数返回值不为空,可以省区dr!=null的判断

时间: 2024-10-23 17:24:08

c#的那些有效性判断的相关文章

iOS开发中手机号码和价格金额有效性判断及特殊字符的限制

在实际开发过程中,经常会遇到些不能让用户随便地输入手机号码,对输入的手机号码的正确判断:有些输入框只能输入数字,不能输入字母或特殊字符:还有些如价格金额之类的就只能输入数字和小数点且小数点后面保留两位. ///// 手机号码的有效性判断//检测是否是手机号码- (BOOL)isMobileNumber:(NSString *)mobileNum{    /**     * 手机号码     * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159

判断输入的手机号和价格是否合法

///// 手机号码的有效性判断 //检测是否是手机号码 - (BOOL)isMobileNumber:(NSString *)mobileNum { /** * 手机号码 * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 * 联通:130,131,132,152,155,156,185,186 * 电信:133,1349,153,180,189 */ NSString * MOBILE = @"^1(3[0-9]

【Java集合源码剖析】HashMap源码剖析

转载请注明出处:http://blog.csdn.net/ns_code/article/details/36034955 HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap. HashMap 实现了Serializable接口,因此它支持序列化,

varnish解读

缓存相关的基础 根据数据是否可以缓存 私有数据:一般为用户的私有数据,不能缓存 共有数据:这类数据为共有数据,大部分都可缓存 缓存有效性判断机制 过期时间 HTTP/1.0 Expires:过期时间 HTTP/1.1 Cache-Control:max-age= Cache-Control: s-maxage= 条件式请求 Last-Modified/If-Modified-Since Etag/If-None-Match 缓存层级: 私有缓存:用户代理的本地缓存机制,一般为浏览器自己的缓存 公

SoC嵌入式软件架构设计之四 :内存空间规划分配

本文继续阐述基于低端控制器CPU的SoC固件架构设计.第一节 SoC嵌入式软件架构设计之一:系统内存需求评估 讲述了系统内存需求的评估.这一节讲述内存空间的具体规划分配.CPU有两种体系结构:哈佛结构和冯诺依曼结构.哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,如80251,代码空间与数据空间完全分开,独立编址:冯诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构,如MIPS,ARM等,其代码和数据空间是统一编址.这里就以冯诺依曼体系结构为例. 一.嵌入式系统软件分层

微信学习总结 15 百度语音合成

百度语音合成通过REST API的方式给开发者提供一个通用的HTTP接口,基于该接口,开发者可以轻松的获取语音合成能力,本文档描述了使用语音合成服务REST API的方法. 对本文中将提到的名词约定如下: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 应用程序:在开发中调用了API.具有语音合成功能的产品线产品. 功能介绍 REST API支持对一段文本的合成,其中对于文本格式以及参数有一定的要求.请按照文档中描

剑指offer 66题 -- 将一个字符串中的空格替换成“%20”

class Solution {public: void replaceSpace(char *str,int length) { //变量定义区 int newtv = 0; int oldtv = 0; int spaceNum = 0; //入参有效性判断 if( NULL == str || length <= 0) return; //计算空格数目 int i =0; while(str[i] != '\0') { oldtv++; if(str[i] == ' ') spaceNum

[Java] HashMap源码分析

1.概述 Hashmap继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口.它的key.value都可以为null,映射不是有序的. Hashmap不是同步的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchronizedMap获得线程安全的HashMap. Map map = Collections.synchronizedMap(new HashMap()); (除了不同步和允许使用 null 之

20150112--抽象类+接口+重载+自动加载机制-02

重载 重载:overload,被重新加载.在面向对象里,重载指的当一个函数(方法),具有不同的返回值或者参数列表的时候,可以有不同的存在形式(允许同名函数存在:返回值或者参数列表不一样) class Person{ public string function eat(){//吃饭方法;return '吃饱了';} public string function eat(水果){//吃水果;return '好吃';} public string function eat(主食){//吃主食;ret