随笔分类 - 改善C#程序建议
编写高质量代码相关建议
摘要:Timer可以对方法的执行时间进行调度,可以是经过指定的时间段后执行,也可以是在之后每隔一段时间执行一次。但不要创建太多的定时器。全部的Timer都是由线程池中的1个线程提供支持的。如果Timer的数量太多,则执行回调方法会被延迟。 在空闲时,Timer线程会执行线程池中的任务,Timer会由下一个
阅读全文
摘要:C#的每一个类型都代表一种资源,而资源又分为两类: 托管资源 由CLR管理分配和释放的资源,即从CLR里new出来的对象。 非托管资源 不受CLR管理的对象,如Windows内核对象,或者文件、数据库连接、套接字、COM对象等。 如果类型用到了非托管资源,或者需要显式释放托管资源,那么需要让类型继承
阅读全文
摘要:1、基础 有对象的地方,一般都会存在比较。在此根据一个Salary列表实现对象比较的例子。Salary类需要实现接口IComparable。 实现接口IComparable后,可以根据BaseSalary对Salary集合对象排序。在Main函数中代码如下: 但是,此处实现相当于比较局限,局限与只能
阅读全文
摘要:所谓成员,是指类型的字段和方法。在成员设计时,掌握一定原则可以避免设计上的陷阱。 1、不要为抽象类提供公开的构造方法 抽象类可以有构造方法,但是抽象类不能实例化。如果编程人员没有制定构造方法,编译器会自动生成一个默认的protected构造方法。下面是一个标准的简单抽象类: 抽象类的构造方法不应该是
阅读全文