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

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

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

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

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

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

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

.区别值类型和引用类型

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

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

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

.理解 GetHashCode方法的缺陷

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

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

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

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

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

.尽量避免产生资源垃圾

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

.实现类的 Dispose 方法

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

.区分接口和重载(overrides)

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

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

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

.使用元数据来控制程序

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

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

.避免使用 ICloneable接口

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

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

.尽量使用 CLS-Compliant

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

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

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

.编写大粒度的 web API

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

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

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

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

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

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

.在自定义结构中使用 DataSet

.利用属性(Attributes)

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

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

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

.尽可能少的使用 Interop

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

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

.准备使用 C# 2.0(笔者注:应该是C#.5或4.0了)

.学习 ECMA 标准

提高C#编程水平的50个要诀的更多相关文章

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

    下面的文章转载于 提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as ...

  2. 提高C#编程水平的50个要点 你掌握了多少呢?

    提高C#编程水平的50个要点,程序员都是追求极致的完美主义者,下面的这些注意点和要点,你都掌握运用了多少呢? 总是用属性(Property)来代替可访问的数据成员 在 readonly 和 const ...

  3. 【转】提高C#编程水平的50个要点

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

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

    提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之 ...

  5. 提高php编程效率技巧

    提高php编程效率技巧 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-13   php是全球范围应用范围最广的开发语言,php和linux.apache.mysql紧密结合,形 ...

  6. 提升自身的iOS编程水平 (转载)

    阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过.而我却坚持写作博客,并且大量地阅读同行的iOS开发博客.博客的文章长度通常在3000字左右,许多iOS开发知识都至少需要这样的篇幅才 ...

  7. 有效提高win7电脑网速50倍

    有效提高win7电脑网速50倍 目前有多少人在使用Windows7?据统计微软已成功售出3.5亿份正版操作系统,加上市场上流传以Win7旗舰版为首的盗版Win7系统下载,Win7激活次数可能已经超过1 ...

  8. 可以提高php编程效率的20个要点

    整理了可以提高php编程效率的20个要点,发博客记录一下,需要的朋友可以参考.    1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id' ...

  9. 提高PHP编程技术的方法

    提高PHP编程技术的方法 下面介绍的是提高PHP编程技术的几种方法. 1.PHP标签 我知道有些人写PHP代码的时候喜欢用缩略标签<? ?>,但是这可不是个好习惯,因为缩略标签在有些服务器 ...

随机推荐

  1. Jsp电子商务之七 订单篇2

    从View页面,点击超链接查询订单,进入到控制器 OrderlistServlet package com.cart.web; import java.io.IOException; import j ...

  2. bzoj2120: 数颜色(BIT套主席树+set/分块)

    带修改的 HH的项链. 带修改考虑用BIT套主席树,查区间里有几个不同的数用a[i]上次出现的位置pre[i]<l的数有几个来算就好了. 考虑怎么修改.修改i的时候,我们需要改变i同颜色的后继的 ...

  3. [LOJ10186]任务安排

    link 试题分析 一道斜率优化的dp 易得方程$f[j]=(S+t[i])\times c[j]+f[i]-t[i]\times c[i]+s\times c[n]$,为什么要写成这要,因为这样其实 ...

  4. Codeforces Round #340 (Div. 2)B

    B. Chocolate time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  5. Leetcode 001. 两数之和(扩展)

    1.题目要求 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 2.解法一:暴力法(for*for,O(n*n)) ...

  6. mpvue开发小记

    1.组件嵌套组件时,子组件作用域bug 组件A内的slot包含子组件B的话,无法正常使用变量(这种情况下,B组件的template错误地使用了A的作用域). 我的解决方案:减少一层组件提炼,即这种情况 ...

  7. html 5 新特性

    现在html 5技术是最新的html标准,掌握html 5已经变得非常重要,以下是我查看相关资料后对html 5 的新特性的总结,方便大家对比学习.html 5的新特性1.取消了一些过时的html 4 ...

  8. 使用Docker搭建Django,Nginx,R,Python部署环境

    转载自https://blog.csdn.net/The_One_is_all/article/details/76063968 基本环境: Ubuntu 16.10 docker 17.06.0-c ...

  9. 汕头市队赛SRM 20 T3 灵魂觉醒

    背景 自从芽衣.布洛妮娅相继灵魂觉醒之后,琪亚娜坐不住了.自己可是第一个入驻休伯利安号的啊!于是她打算去找德丽莎帮忙,为她安排了灵魂觉醒的相关课程. 第一天,第一节课. “实现灵魂觉醒之前,你需要先将 ...

  10. java 错误: 找不到或无法加载主类解决方法

    1.配置好jdk与jre环境变量路径 https://www.cnblogs.com/xch-yang/p/7629351.html 2.在编译和运行的时候需要注意如下格式.