2011年12月27日
摘要: 使用场景:代码块中可能会发生溢出,比如 byte b =255; b++;解决办法:使用checked标记代码块,告诉CLR 进行溢出检查,如checked{b++;}使用unchecked标记代码块,告诉CLR不要进行溢出检查,如unchecked{b++;} 阅读全文
posted @ 2011-12-27 15:53 Andy Niu 阅读(348) 评论(1) 推荐(1) 编辑
摘要: 使用场景: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 @ 2011-12-27 13:44 Andy Niu 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 语法糖 是计算机语言中的一种语法,语法糖并没有为计算机语言添加新的功能,而是对已有的功能进行了封装,提供给用户更好的编程方式和编码风格。举例来说,C语言中的a[i] 表示*(a+i),在C#语言中,语法糖更多,比如下面的代码:View Code 1 public class Person 2 { 3 // Automticall Implemented Property (自动实现的属性) 4 public string Name { get; set; } 5 public int Age { get; set; } 6 ... 阅读全文
posted @ 2011-12-27 12:17 Andy Niu 阅读(3754) 评论(2) 推荐(2) 编辑