摘要: 值类型还有引用类型?结构还是类? 值类型在内存管理上有很好的性能,很少会有堆内存碎片,很少间接访问。但是值类型在面向对象技术上的支持是有限的。 把值类型当作一个底层次的数据存储类型,把应用程序的行为用引用类型来表示。 阅读全文
posted @ 2018-05-30 15:25 _York 阅读(384) 评论(1) 推荐(0) 编辑
摘要: 使用#if #endif可以在同样源码上生成不同的编辑(结果),通常是调式(debug)和发布(release)版本。 但是#if/#endif很容易被滥用,使得编写的代码难以理解和调式,所以C#提供了条件特性(Conditional attribute)来识别哪些方法可以根据环境设置来判断是否应该 阅读全文
posted @ 2018-05-30 15:12 _York 阅读(374) 评论(3) 推荐(1) 编辑
摘要: 无论何时,正确选择使用as运算符进行类型转换。比盲目的强制类型转换更安全,而且在运行时效率更高。 用as和is进行转换时,并不是对所有用户定义的类型都能完成,只是在运行时类型和目标类型匹配时,转换才能完成。 1、强制转换是不安全的,可能有异常抛出。需要try catch 结构来保证程序运行 2、as 阅读全文
posted @ 2018-05-30 14:50 _York 阅读(328) 评论(1) 推荐(1) 编辑
摘要: 1、始终使用属性(Property),而不是字段(Data Member) C# 属性已经晋升为一等公民,如果你的类中还有public的字段,Stop。访问属性和字段的方式是一样的,但是属性是用方法(methods)实现的。 当有新的需求,通过修改属性来实现比在程序里面修改所有的public字段来实 阅读全文
posted @ 2018-05-30 14:25 _York 阅读(586) 评论(2) 推荐(2) 编辑