work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年10月8日

摘要: FlagsAttribute属性在enum中的应用 我看了Effective C#一书中的Item 8 : Ensure That 0 Is a Valid State for Value Types时提到了Flags属性在enum中的应用,于是就查了一下资料,写了一点关于这个的体会 .Net C#中枚举的声明格式如下所示:[attributes] [modifiers] enum identifier [:base-type] {enumerator-list} [;]FlagsAttribute属性就是枚举类型的一项可选属性。它的主要作用是可以将枚举作为位域处理(P.S. C#不支持位域) 阅读全文

posted @ 2011-10-08 16:36 work hard work smart 阅读(273) 评论(0) 推荐(0) 编辑

摘要: 用法一、Checked与Unchecked 对于因为整数类型参与算术操作和类型转换时产生的“溢出异常”——System.OverflowException,在某些算法来讲不算真正的“异常”,相反这种溢出常常为程序所用。C#通过引入checked和unchecked关键字来控制这种特殊情况的需求。它们都可以加于一个语句块前(如:checked{……}),或者一个算术表达式前(如:unchecked(x+y)),其中加checked标志的语句或表达式如果发生算术溢出,则抛出System.OverflowException类型的异常,而加unchecked标志的语句发生算术溢出时,则不... 阅读全文

posted @ 2011-10-08 16:20 work hard work smart 阅读(850) 评论(0) 推荐(0) 编辑

摘要: 一、用StructLayout特性限定声明结构或类 公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在托 管内存中的物理布局,即类或结构需要按某种方式排列。如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的。它的构造函数中用LayoutKind值初始化 StructLayoutAttribute 类的新实例。 LayoutKind.Sequential 用于强制将成 员按其出现的顺序进行顺序布局。 LayoutKind.Explicit 用于控制每个数据成员的精确位置。利用 Explicit, 每个成员必须使用 FieldOffsetAtt.. 阅读全文

posted @ 2011-10-08 15:43 work hard work smart 阅读(7158) 评论(0) 推荐(1) 编辑

摘要: 目录:1、??运算符使用2、GetEnumerator方法3、ResourceManager.GetString方法获得Resources的字符。4、获得Settings文件的字符。一、??可能是一个被遗忘的运算符,很少看到有人用它,它的用法很简单却很实用:variable ?? defaultValue相当于variable == null ? defaultValue : variable有了它,一行便能搞定Lazy Evaluation了:使用??之前:Code highlighting produced by Actipro CodeHighlighter (freeware)http 阅读全文

posted @ 2011-10-08 15:05 work hard work smart 阅读(19567) 评论(0) 推荐(0) 编辑