1.总是用属性 (Property) 来代替可访问的数据成员

2.在 readonly 和 const 之间,优先使用 readonly

3.在 as 和 强制类型转换之间,优先使用 as 操作符

4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if

5.总是为自定义类重载 ToString 方法

6.区别值类型和引用类型

7.使用不可变的值类型(Immutable Atomic Value Types)

8.在值类型中,确保0是一个合法的数据

9.理解 ReferenceEquals, static Equals, instance Equals 和 比较运算符(==)之间的关系

10.理解 GetHashCode方法的缺陷

11.在编写循环时,优先使用 foreach.

12.在定义变量的时候就将其初始化

13.使用静态构造函数来初始化静态成员变量

14.用多个构造函数时,利用构造函数链

15.使用using和try/finally来处理资源的释放

16.尽量避免产生资源垃圾

17.尽量避免使用装箱(boxing)和拆箱(unboxing)

18.实现类的 Dispose 方法

19.在接口和继承(Inheritance)之间,优先使用接口(interface)

20.区分接口和重载(overrides)

21.用委托(delegate)来实现回调(callback)

22.用事件(event)来定义外部接口

23.避免返回类内部成员的引用

24.使用元数据来控制程序

25.优先使用可序列化(serilizable)类型

26.对需要排序的对象实现IComparable和IComparer接口

27.避免使用 ICloneable接口

28.避免使用类型转换操作符

29.只有当基类加入了与派生类中现有的函数名称相同的函数时,才需要使用 new 操作符

30.尽量使用 CLS-Compliant

31.尽量编写短少,简单的函数

32.尽量编写比较小的程序集(assembly)

33.限定类型的可见性(visibility)

34.编写大粒度的 web API

35.在使用事件时,优先继承基类事件,而不是重新创建一个事件

36.多使用 framework 的运行时调试 (DEBUG, TRACE, EVENTLOG等)

37.使用.net标准的配置机制

38.使用并且在类中支持.net的数据绑定功能 (Data Binding)

39.使用.net的验证机制 (Validation)

40.根据你的需求选择正确的集合类(Collection)

41.在自定义结构中使用 DataSet

42.利用属性(Attributes)

43.不要过度使用反射(Reflection)

44.创建完整的,应用程序特定的异常

45.尽可能多的考虑程序可能出现的异常,并作出处理

46.尽可能少的使用 Interop

47.尽量使用安全代码 (safe code)

48.多多学习、使用外部工具和资源

49.准备使用 C# 2.0

50.学习 ECMA 标准

转载于:https://www.cnblogs.com/lmjob/archive/2009/03/01/1400860.html

提高C#编程水平的50个要点相关推荐

  1. 提高.NET编程水平的50个要点(转载)

    1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 ...

  2. 提高C#编程水平的50个要诀[转载]

    一篇旧时的文章,看后觉得还可以,特别贴出来. 提高C#编程水平的50个要点: 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 ...

  3. 提高C#编程水平的50个技巧

    转自:网络 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 a ...

  4. 如何提高团队编程水平

    如何提高团队编程水平 发布时间:2012-01-31 17:53     来源:伯乐在线     分类: 程序员 都等你发言 :) 分享到: 过去一年半里,我在为Mendicant大学(Ruby开发者 ...

  5. 怎么提高单片机编程水平?

    大家好,我是无际,无实战不理论,下面是我从事单片机编程10年的终极程序. 对于怎么提高单片机编程能力,作为一个过来人,我感触很深! 工作的前3,4年,做过一些产品,自以为自己的水平还算可以了,直到去了 ...

  6. 提高C#编程水平不可不读的50个要诀

    1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4 ...

  7. 提高计算机编程水平,写程序10大习惯和如何提高编程能力

    如何提高自己的编程能力 1. 扎实的基础.数据结构.离散数学.编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序.据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软 ...

  8. 提高PHP编程效率的53个要点(转)

    核心提示:用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数&q ...

  9. 提高PHP编程效率的53个要点

    *用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数" ...

最新文章

  1. 【C++】C/C++ 中default/delete特性
  2. 在数据库什么是主键与外键
  3. python制作好看的界面_【一点资讯】Python界面如何漂亮的展示树形结构,PyQt5控件之QTreeWidget详解 www.yidianzixun.com...
  4. JS获取当前日期及时间
  5. sonar findbugs plugin源码研究
  6. mysql出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'如何解决?
  7. rabbitmq python_Python操作RabbitMQ服务器实现消息队列的路由功能
  8. mysql 创建表check如何使用_MySQL怎么使用check约束
  9. 百度实习生前端面试面经
  10. 负载均衡—nginx实现waf
  11. 串口中断和定时器中断_51单片机中断机制(定时器/计数器)
  12. Mapx自带的工具的理解
  13. 用于专利申请的创新提案模板
  14. android 国家代码
  15. MySQL中的自增主键用完了怎么办?
  16. imac html5播放器,超给力的五款Mac最佳高清音乐播放器
  17. 超级详细的计数问题的解法
  18. 双节重逢之保持对生活的掌控感
  19. Android之实现长按Webview页面文字自定义复制、全选、分享、搜索、翻译功能(支持多语言,博文也有Demo下载地址)
  20. 【C++】继承(C++重中之重)(学习与复习兼顾)

热门文章

  1. java栈 迷宫_利用栈实现迷宫的求解
  2. android运行过程简书,Android系统的启动流程
  3. 使用OpenCV和Python计算图像的“彩色度”
  4. C++:随笔3--复杂的数据结构
  5. 机器学习中算法的性能评估
  6. ZigBee(CC2530)最小系统PCB设计(AD18开发软件)
  7. POJ - 2584 T-Shirt Gumbo 二分多重匹配
  8. php ob_flush无效,php ob_flush,flush在ie中缓冲无效的解决方法
  9. authc过滤器 shiro_shrio 权限管理filterChainDefinitions过滤器配置
  10. 相机标定 matlab opencv ROS三种方法标定步骤(2)