摘要: 使用场景:1、比如使用Int32 来表示数据库字段的类型,数据库字段在某个记录上可以为Null,而Int32 不能为Null,产生问题。2、Java中的 java.util.Date 是引用类型,而CLR 中的System.DateTime 是值类型,当Java中的日期变量为Null,传递给C#时,C#无法解析。解决办法:使用?表示值类型可以为空,如 Int32? x =null;空接合操作符(??):Int32? x = a?? 1; ??操作符表示 a 不为null,返回a,否则返回1实际上 ?? 是 ?: 的语法糖,上面的代码等价于 Int32? x = (a==null)? a : 1 阅读全文
posted @ 2013-04-10 16:48 苍云古齿 阅读(166) 评论(0) 推荐(0)
摘要: 最近工作需要封装一些自定义事件,对这块不熟悉所以查资料查到这篇文章,果然还是代码加注释最好懂啊(说这话的绝对都是程序员!!!一辈子的!!!)。关于事件各位应该都不陌生,相信每个程序员都可以拍着胸脯说“事件?我知道啊~”,可如何自定义事件?也许有人心中就不是那么底气十足了。还是老规矩吧,高手绕行~用很多地方都被引用到泛滥的一个例子来写吧,始作俑者就不去深究了。描述是这样的:小偷进入时,事件发送者(猫)发送猫叫事件(自定义),(事件接收者)主人订阅猫叫事件并处理(抓住小偷),事件的参数传递的是小偷的数量。下面就给出实现的具体步骤---已经在代码注释中标明,以供各位博友抽象出自定义事件的流程。usi 阅读全文
posted @ 2013-04-10 10:36 苍云古齿 阅读(159) 评论(0) 推荐(0)