zoukankan      html  css  js  c++  java
  • C# 高效编程笔记1

    C# 高效编程笔记1

    1.使用属性而不是可访问的数据成员

    (1).NET Framework中的数据绑定类仅支持属性,而不支持共有数据成员

    (2)属性相比数据成员更容易修改

    2.用运行时常量(readonly),而不是编译期常量(const)

    (1)编译常量支持类型:基本类型,枚举,字符串, 在编译时初始化

    (2)运行时常量支持类型:任意类型,构造函数或初始化器中初始化

    (3)const在性能上优于readonly,但是readonly的灵活性更佳

    3.推荐使用is或as操作符而不是强制类型转换

    (1)尽可能使用as

    (2)符合目标类型时才能转换成功,也不会在转换时创建新对象

    (3)as不能转换值类型,as可以

    4.使用conditional特性而不是#if条件编译

    (1)conditional特性只能应用于整个方法,且方法只能返回void类型,最好不要有任何参数

    5.为类型提供ToString()方法

    6.理解几个等同性判断之间的关系

    public static bool ReferenceEquals(object left, object right); // 根据对象标识,而不是对象内容.比较值类型,返回fals.不应该重新定义

    public static bool Equals(object left, object right);// 不应该重新定义

    public virtual bool Equals(object right);

    public static bool operator ==(MyClass left, MyClass right);

    (1)Equals覆写规则:对于所有的值类型, 都应该覆写其Equals方法;对于引用类型,只有在System.Object提供的Equals方法不能满足需求时,才覆写Equals方法.覆写Equals方法的同时也要覆写GetHashCode方法.

    (2)只要创建新的值类型,都应该覆写operator ==方法

  • 相关阅读:
    【网络流24题----15】汽车加油行驶问题
    【网络流24题】最小路径覆盖问题
    网络流二·最大流最小割定理
    贪吃蛇
    【SCOI2008】着色方案
    DARK的锁链
    【NOIP2014】飞扬的小鸟
    [NOIP2012] 借教室
    [NOIP2012] 开车旅行
    [NOIP2012] 国王游戏
  • 原文地址:https://www.cnblogs.com/Johar/p/6195079.html
Copyright © 2011-2022 走看看