《Effective C#》快速笔记(一)- C# 语言习惯 目录 一、使用属性而不是可访问的数据成员 二、使用运行时常量(readonly)而不是编译时常量(const) 三、推荐使用 is 或 as 操作符而不是强制类型转换 四、使用 Conditional ...
Effective C 快速笔记 四 使用框架 .NET 是一个类库,你了解的越多,自己需要编写的代码就越少。 目录 三十 使用重写而不是事件处理函数 三十一 使用 IComparable lt T gt 和 IComparer lt T gt 实现顺序关系 三十二 避免使用 ICloneable 接口 三十三 仅用 new 修饰符处理基类更新 三十四 避免重载基类中定义的方法 三十五 PLIN ...
2017-05-03 11:20 1 2340 推荐指数:
《Effective C#》快速笔记(一)- C# 语言习惯 目录 一、使用属性而不是可访问的数据成员 二、使用运行时常量(readonly)而不是编译时常量(const) 三、推荐使用 is 或 as 操作符而不是强制类型转换 四、使用 Conditional ...
《Effective C#》快速笔记(二)- .NET 资源托管 简介 续 《Effective C#》读书笔记(一)- C# 语言习惯。 .NET 中,GC 会帮助我们管理内存,我们并不需要去担心内存泄漏,资源分配和指针初始化等问题。不过,它也并非万能,因为非托管资源需要 ...
《Effective C#》快速笔记(三)- 使用 C# 表达设计 目录 二十一、限制类型的可见性 二十二、通过定义并实现接口替代继承 二十三、理解接口方法和虚方法的区别 二十四、用委托实现回调 二十五、用事件模式实现通知 二十六、避免返回对内部类对象 ...
《Effective C#》快速笔记 - C# 中的动态编程 静态类型和动态类型各有所长,静态类型能够让编译器帮你找出更多的错误,因为编译器能够在编译时进行大部分的检查工作。C# 是一种静态类型的语言,不过它加入了动态类型的语言特性,可以更高效地解决问题。 一、目录 ...
《Effective C#》快速笔记 - C# 高效编程要点补充 目录 四十五、尽量减少装箱拆箱 四十六、为应用程序创建专门的异常类 四十七、使用强异常安全保证 四十八、尽量使用安全的代码 四十九、实现与 CLS 兼容的程序集 五十、实现小 ...
在.NET环境中,非托管系统资源由开发人员来负责释放,且非托管系统资源必须显式的使用IDisposable接口的Dispose()来释放(详见:了解.NET内存管理机制)。所有封装或使用了非托管资源的类型都实现了IDisposable接口。同时这些类也在终结器中调用Dispose(),保证 ...
我们知道C#是一门虚拟机语言,在C#编译器首先将C#代码编译成IL代码,运行程序时CLR(Common Language Runtime,公共语言运行时)通过调用JIT(just-in-time Compiler,即时编译器)来将IL代动态即时编译成可执行的机器码。在CLR中有一个非常重要 ...
查询语法(query syntax)可以让程序逻辑的表达由“命令式”转换为“声明式”。查询语法定义了想要的结果,而把具体实现交给其他的专门实现。使用查询语法(实现了查询表达式模式的方法语法也可以)要比传统的命令式循环结果更加清晰的表达你的意图。 下面我们观察一个使用命令式方法填充一个 ...