c#基础及性能优化

1.内存

1.1了解栈、托管堆、垃圾回收

2.数据类型

2.1装箱拆箱

1.2 struct:基本是给调用COM,API外部DLL、unsafe留的。规范多多:

1。转成接口将装箱,

2。不能太大,因为传入传出都将复制成员数据=》如果只是局部变量用,还不如多申明几个变量,反正也不多

3。效率的提升:使用调用栈/不用分配托管堆上的对象,不用垃圾回收,但GC人家做的挺好/  =》 用不好效率低,用的好也就养养眼。

3.委托

4.泛型:概念是好,问题还是多多,喜欢用接口编程的话,泛型很无奈(逆变怕怕,不说)

.net4支持接口协变,不支持类协变,用起来麻烦(理论上应该实现,只有期待未来的编译器更智能)

只有ienumable<T>协变,其他只有自己动手,动完手发现还是衣残食蔽

建议:尽量避免非直接类型的泛型类(TClass<T,T1>{T t;T1 t1;...}正解,TClass<T,T1>{IFoo<T> foo1,IFoo2<T1> f2....}跟自己过不去)

4.动态程序

4.1反射

4.2 IL

4.3 LINQ/ExpressionTree

4.2动态程序集

4.3动态方法

4.4 动态编译

 

 

posted on 2011-03-29 14:34  zmodem  阅读(374)  评论(0)    收藏  举报

导航