《Effective C#》快速笔记(一)- C# 语言习惯 目录 一、使用属性而不是可访问的数据成员 二、使用运行时常量(readonly)而不是编译时常量(const) 三、推荐使用 is 或 as 操作符而不是强制类型转换 四、使用 Conditional ...
Effective C 快速笔记 二 .NET 资源托管 简介 续 Effective C 读书笔记 一 C 语言习惯。 .NET 中,GC 会帮助我们管理内存,我们并不需要去担心内存泄漏,资源分配和指针初始化等问题。不过,它也并非万能,因为非托管资源需要我们自己进行清理,如文件句柄 数据库连接 GDI 对象和COM 对象等。 目录 十二 推荐使用成员初始化器而不是赋值语句 十三 正确地初始化静 ...
2017-04-26 07:22 3 2447 推荐指数:
《Effective C#》快速笔记(一)- C# 语言习惯 目录 一、使用属性而不是可访问的数据成员 二、使用运行时常量(readonly)而不是编译时常量(const) 三、推荐使用 is 或 as 操作符而不是强制类型转换 四、使用 Conditional ...
《Effective C#》快速笔记(四)- 使用框架 .NET 是一个类库,你了解的越多,自己需要编写的代码就越少。 目录 三十、使用重写而不是事件处理函数 三十一、使用 IComparable<T> 和 IComparer<T> 实现 ...
我们知道C#是一门虚拟机语言,在C#编译器首先将C#代码编译成IL代码,运行程序时CLR(Common Language Runtime,公共语言运行时)通过调用JIT(just-in-time Compiler,即时编译器)来将IL代动态即时编译成可执行的机器码。在CLR中有一个非常重要 ...
《Effective C#》快速笔记 - C# 中的动态编程 静态类型和动态类型各有所长,静态类型能够让编译器帮你找出更多的错误,因为编译器能够在编译时进行大部分的检查工作。C# 是一种静态类型的语言,不过它加入了动态类型的语言特性,可以更高效地解决问题。 一、目录 ...
《Effective C#》快速笔记(三)- 使用 C# 表达设计 目录 二十一、限制类型的可见性 二十二、通过定义并实现接口替代继承 二十三、理解接口方法和虚方法的区别 二十四、用委托实现回调 二十五、用事件模式实现通知 二十六、避免返回对内部类对象 ...
《Effective C#》快速笔记 - C# 高效编程要点补充 目录 四十五、尽量减少装箱拆箱 四十六、为应用程序创建专门的异常类 四十七、使用强异常安全保证 四十八、尽量使用安全的代码 四十九、实现与 CLS 兼容的程序集 五十、实现小 ...
如何为我们自己的包含非托管资源的类型编写资源管理代码呢?在 .NET 中为我们提供了一种标准的销毁非托管资源的模式,这个标准的模式能够使使用者通过调用IDisposable接口正常释放掉非托管资源,也能够保证使用者在忘记释放资源时使用终结器释放。这个标准模式可以和GC配合,保证仅在最糟 ...
在.NET环境中,非托管系统资源由开发人员来负责释放,且非托管系统资源必须显式的使用IDisposable接口的Dispose()来释放(详见:了解.NET内存管理机制)。所有封装或使用了非托管资源的类型都实现了IDisposable接口。同时这些类也在终结器中调用Dispose(),保证 ...