易截截图软件、单文件、免安装、纯绿色、仅160KB

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


想提高c#编程水平?下面这50条经验不可不读!
提高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
50


相关文档:

C#序列化与反序列化Xml,利用范型做通用化处理

public class yzzSerialize
{
private yzzSerialize()
{ }
private static yzzCache cache = new yzzCache();
public static T GetfromXml<T>(string xmlpath, T t)
{
using (FileStream fs = new FileStream(xmlpath, FileMode.Open, FileAcces ......

c# 支持XML序列化的泛型 Dictionary

/// <summary>
/// 支持XML序列化的泛型 Dictionary
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <typeparam name="TValue"></typeparam>
[XmlRoot("SerializableDictionary")]
public class SerializableDictionary<TKey, TValue& ......

归结一下子:C#线程同步的几种步骤

我们在编程的时分,有时会运用多线程来解决问题,例如你的程序急需在后台老板处置一大堆数据,但还要施用户界面居于可操作状态;或许你的程序亟需访问一些外部资源悉数据库或网络资料等。这些景况你都可以创设一个头线程去处置,然则,多线程不可逆转地会带回一个问题,乃是线程同步的问题。如其这个问题处置糟糕,我们就会 ......

c#中bin,obj,properties文件夹的作用

  Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。
  obj是object的缩写,用于存放 ......

C# 使用PlaySound在移动设备上播放声音

使用 PlaySound 在移动设备上播放声音文件。此代码使用 System.Runtime.InteropServices
调用 Compact Framework 的 CoreDll.DLL 的 PlaySound 方法
关于播放实现:
        //播放标志
        private enum Flags
        {
 &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号