·分布类(partial class)
类的声明可以分割成几个分部类的声明。
●每个分部类的声明都含有一些类成员的声明。
●类的分部类声明可以在同一文件中也可以在不同文件中。
●每个局部声明必须被标为partial class,而不是单独的关键字class,分部类声明看起来和普通类声明相同,除了那个附加类型修饰符partial。
·StringBuilder与String
字符串一旦创建就不可修改大小,所以对字符串添加或删除比较频繁的话,那就不要用string而用StringBuilder。
例如:
String a1=“abc”; //分配固定的内存大小
a1+=“def” //销毁原来的数据再来分配,代价比较大
StringBuilder b=new StringBulider(20); //指定分配大小
b.Append(‘abc’); //分配到堆区
b.Append(‘def’); //不会被销毁,追加到后面
·RtsEnable
在开发中有些串口设备需要串口供电,使用C#中的SerialPort类默认情况下不会出发 DataReceived函数,但使用超级终端却可以接收到数据,这是因为 SerialPort 类的DtrEnable 和RtsEnable 两个属性默认是false,设为true即可接收数据了,如下:
this.m_SerialPort.DtrEnable = true; //启用控制终端就续信号
this.m_SerialPort.RtsEnable = true; //启用请求发送信号
·Invoke 方法
invoke方法是为了解决非某个控件创建的线程中刷新该控件可能会引发异常的问题。比如,主线程中存在一个文本控件,在一个子线程中要改变该文本的值,此时可能会发生异常。