1、尽量避免装箱(将值类型value type转换为引用类型reference type)拆箱带来的性能损耗(数据不停的搬迁于堆区和栈区)。
2、wpf的资源使用可通过:应用程序级资源(App.xaml)、窗体级资源(Window/Page)、文件级资源(资源字典)、对象级资源(控件)。使用级别由里到外。有静态(StaticResource)和动态(DynamicResource)引用之分,静态从其容器开始向上查找(编译时),动态从当前开始查找(运行时)。
3、程序设计开始时请使用Canvas、Grid、StackPanel、DockPanel、WrapPanel或自定义面板布局程序界面。
4、.net(c#)的根类库object及诸多类库均架构于不同的名字空间里,故使用类中函数时候需要应用不同名称空间。C#没有多重继承的概念,但是可以通过接口的多重继承实现,interface实质上就是一个虚函数列表指针,interface不可能实例化而只能通过派生才可以使用。
5、C#的所有类型都被封装成类,包括基本数据类型,这是分装性和面向对象的体现。
6、值类型和引用类型的本质区别是引用下面不是具体数值而是一段内存的地址。C#的引用类型有:string、类、数组、委托、接口。C#对用户隐藏了指针的使用,但其引用、ref、out等以指针具有相似的道理。
7、委托说到底就是为了方便函数调用(通常是异步过程)的函数指针。
8、只要设置了某个对象的DataContext,那么对这个对象的所有子对象都会产生同样的影响。
9、进程是线程的载体,线程是进程的主角。线程间存在同步异步过程,线程同步需要考虑对临界资源的控制与锁定,线程同步的相互协调不是靠线程优先级来控制的,而是使用lock和monitor. lock保证了共享资源的安全和线程执行顺序的合理.针对实例方法构造的线