防御性判断

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Chap2_3
{
class Program
{
static void Main(string[] args)
{
ProductCollection products=new ProductCollection();
#region 没有判断,直接迭代
//products.Products.ForEach(product =>
// {
// product.CompanyNodes.ForEach(node =>
// {
// //TODO
// }
// );
// });
#endregion
#region 有判断
//if (products.Products == null || products.Products.Count == 0)
// return;
//products.Products.ForEach(product =>
// {
// if (product == null || product.CompanyNodes == null || product.CompanyNodes.Count == 0)
// return;
// product.CompanyNodes.ForEach(node =>
// {
// //TODO
// });
// });
#endregion
}
}
public class ProductCollection
{
public List<Product> Products { get; set; }
}
public class Product
{
public string PName;
public List<string> CompanyNodes{get;set;}
}
}

时间: 2024-10-10 15:03:29

防御性判断的相关文章

【转】ConcurrentHashMap完全解析(JDK6/7、JDK8)

转自http://my.oschina.net/hosee/blog/675884 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O).ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,CAS

ConcurrentHashMap总结

原文出处: Hosee 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O).ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,CAS等lock-free技术来减少锁竞争对于性能的影响,无论对于

Concurrency of ConcurrentHashMap

转自 :http://cache.baiducontent.com/  良辰美景奈何天 并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O).ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,C

数据结构之ConcurrentHashMap

并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O).ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,CAS等lock-free技术来减少锁竞争对于性能的影响,无论对于Java并发编程的学习还

并发-ConcurrentHashMap

ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进行分析(JDK1.7). ConcurrentHashMap实现原理 众所周知,哈希表是中非常高效,复杂度为O(1)的数据结构,在Java开发中,我们最常见到最

iOS防御性编程

防御性编程是一种细致.谨慎的编程方法.为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己.我们通过明确地在代码中对设想进行检查,击碎了未记录下来的设想.这是一种努力,防止(或至少是观察)我们的代码以将会展现错误行为的方式被调用. 防御性编程是一种编程习惯,是指预见在什么地方可能会出现问题,然后创建一个环境来测试错误,当预见的问题出现的时候通知你,并执行一个你指定的损害控制动作,如停止程序执行,将用户重指向到一个备份的服务器,或者开启一个你可以用来诊断问题的调试信息.这些防

防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结

防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数或者是否连接备用网络,除法运算中的除数问题,函数或者类在接受数据的时候的过滤情况,比如如果输入一个指针参数,是否需要判断是不是空指针?输入一个字符串参数,是否需要判断字符串空否……总的来说就是防止出现不可预见的事情,设计出鲁棒性的代码. 看下面的例子 输入一个链表,输出链表中倒数第 m 个结点额内容

防御性编程【转】

http://www.cnblogs.com/bakari/archive/2012/08/27/2658215.html 本篇是我根据网上的一些陈述经过整理和总结而得.其中详细的内容我会标注出处.看不懂的可以查看原文. 一.什么事防御性编程 详细请见:http://www.uml.org.cn/codeNorms/201007165.asp 防御性编程是一种细致.谨慎的编程方法.为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己.我们通过明确地在代码中对设想进 行检查,

防御性编程(转载)

本篇是我根据网上的一些陈述经过整理和总结而得.其中详细的内容我会标注出处.看不懂的可以查看原文. 一.什么事防御性编程 详细请见:http://www.uml.org.cn/codeNorms/201007165.asp 防御性编程是一种细致.谨慎的编程方法.为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己.我们通过明确地在代码中对设想进行检查,击碎了未记录下来的设想.这是一种努力,防止(或至少是观察)我们的代码以将会展现错误行为的方式被调用. 防御性编程是一种编程习惯