當前位置:編程學習大全網 - 遊戲軟體 - .NET(C#)開發漫談:關於變量的命名和屬性

.NET(C#)開發漫談:關於變量的命名和屬性

 static readonly與const的變量 作用是壹樣的 無論訪問修飾符是不是public 還是其它(private protected internal) 變量名稱壹般為大寫 中間以下劃線

 public static readonly int MAX_HEIGHT;  public const int MIN_HEIGHT = ;

 有些程序員對大寫不敏感 上例中 MAX_HEIGHT用Max_Height代替也未嘗不可 甚至MaxHeight也可以 在 Net類庫中 int MaxValue與int MinValue便是這樣定義的

 const常量更確切的說是編譯時常量 因為它在運行時是不存在的 在編譯中所有變量引用將被實際值替掉 而static readonly則不然 它在運行時也是存在的 從原理上講 論效率const優於static readonly 但是在壹個比較在的項目中 在dll局部升級時 如果改變了某個const變量的值 而未升級的dll如果也有這個const變量的話 顯而易見這時候問題將是產生 如果因此而升級全部dll 反而不值 所以在大型 多變應用中 建議使用static readonly代替const 其微乎其微的效率的減損對比升級布置可能出現的問題還是可以接受的

 除了以上兩種靜態只讀和常量變量之外 其它變量命名均以下劃線開始 訪問修改符為private(不建議命名為internal protected 更不建議命名為public)

 private static int _maxHeight;  private int _minHeight; 如果其命名不前置下劃線 易與參數變量混淆

 對於下面這種定義

 private int _minHeight = default(int);  public int MinHeight  { set{ ?_minHeight = value; } get{ ?return _minHeight; }  }

 初學者可能覺得有點畫蛇添足 不如直接命名為

 public int MinHeight; 這樣豈不簡單 幹嗎還要用getter和setter封裝起來 額外的函數調用也使效率有損

 有時候在開發項目時 開始時我們要畫的可能只是壹條蛇 但是項目後期需求變了 改畫壹條龍了 所以在項目初期畫蛇的時候添上壹對足還是很有遠見的

 getter與setter(屬性存取器)可以像方法壹樣封裝邏輯並且像變量壹樣使用 建議所有非靜態只讀和常量 定義為private 然後給其添加相應屬性存取器 用於賦值與讀取 在其它方法體內(包涵類外與類內) 不建議直接讀寫變量 即使它目前可以被直接讀寫 我們也要通過調用屬性存取器也調用 這壹點有點麻煩 但很重要 很高老手有時也會犯錯誤 如下所示

 private int _minHeight = int MinValue;  public int MinHeight//或者是protected internal 甚至是private  { set{ ?_minHeight = value; ?//即使這裏目前沒有其它處理邏輯 } get{ ?return _minHeight; }  }  public void Method (int minHeight)  { this MinHeight = minHeight;//在這裏不要使用this _minHeight直接讀寫 //  }

 即使變量的訪問是受保護的或者或者是私有的 也要使用屬性存取器

lishixinzhi/Article/program/net/201311/15697

  • 上一篇:手機nfc咋復制門禁卡
  • 下一篇:為啥MSN登錄不上去
  • copyright 2024編程學習大全網