一篇旧时的文章,看后觉得还可以,特别贴出来。

提高C#编程水平的50个要点:

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(笔者注:应该是C#3.5或4.0了)

50.学习 ECMA 标准

转载于:https://www.cnblogs.com/bjxingch/articles/6816326.html

提高C#编程水平的50个要诀[转载]相关推荐

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

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

  2. 提高C#编程水平的50个要点

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

  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. 怎么提高python编程水平_编程新手如何提高编程能力?

    有些朋友给我留言说,兴致满满的开始自学编程,但是拿到一堆书,却不知道从哪开始,最后的结果就像下面这个图: 下面结合我之前的学习经历,如何从零基础慢慢提高. 1.首先,给你的学习编程一个重要的意义 做任 ...

  9. 提高编程水平的一段必经之路,研读官方文档

    刚才看了 论坛里 jinxfei 的十年总结(14):从CS转向BS, 说实话,大部分内容我没有太仔细的看,不过如下的一段引起了我的注意: 真正让我心里有底的,还是在看了官方文档之后:http://s ...

最新文章

  1. 亚马逊新品流量是上架开始算吗?
  2. devc++鼠标变成了光标_游戏鼠标到底能不能提升你的实力?
  3. C#TreeView控件
  4. 代言男科、站台微商、变身神棍....这些科学家被捧了几十年,黑历史曝光后,让人三观尽毁......
  5. linux无桌面重做系统,Linux不需要重做系统
  6. 毕业一年多被裁,没有计算机文凭,我在两个月内搞定4份Offer,且收入翻倍
  7. C++ 标准库 —— random
  8. winform中listview选中整行_Excel办公实操,操作区域的3大小技巧,办公中的你使用过吗...
  9. java 静态相关内容
  10. SQL Server中, DateTime (日期)型操作的 SQL语法
  11. docker安装nacos并配置mysql数据库教程
  12. “声波识别”可用于购物
  13. Spring Boot 实现在线Web SSH( Java Web版本的Xsehll)
  14. 将html的echarts导入excel,echarts 数据 表格 excel-求Excel数据导入echarts实现成图的代码,不胜感激!...
  15. Java明星HD_javaHDvideo
  16. python百度地图显示路径_百度地图获取规划路径信息
  17. 苹果官方揭秘:这个强大的相册功能是如何实现的?
  18. 黄金期货对比现货黄金有哪些优势
  19. 云笔记有什么功能作用,浏览器如何添加云笔记插件
  20. _weak typeof(self) weakSelf = self使用解释

热门文章

  1. 多表查询事务DCL权限管理
  2. 车辆检测--A Closer Look at Faster R-CNN for Vehicle Detection
  3. Linux内核模块编程系列1-极简内核模块编写
  4. 机器人 瓷砖墙面清洗_瓷砖铺贴注意事项有哪些?
  5. 计算机二级考试题未来教育里占多少,计算机二级笔试试题未来教育版.doc
  6. java面向对象思维导图_2020年Java进阶架构师的必备思维导图,让你少走弯路!
  7. 深入理解计算机系统答案2.11,深入理解计算机系统 第十一章
  8. 使用命名空间:别名/导入
  9. mysql floor报错_mysql的floor()报错注入方法详细分析
  10. 工艺路线和工序有差别吗_ERP-工序与工艺路线