国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#入門--字段與屬性

2019-11-14 13:50:40
字體:
來源:轉載
供稿:網友

C#入門--字段與屬性

  “字段”,它是包含在類或結構中的對象或值。字段使類和結構可以封裝數據。

  屬性是這樣的成員:它們提供靈活的機制來讀取、編寫或計算私有字段的值。可以像使用公共數據成員一樣使用屬性,但實際上它們是稱為“訪問器”的特殊方法。這使得數據在可被輕松訪問的同時,仍能提供方法的安全性和靈活性。

 

public class PRogram{    private int _number;    //_number為字段    public int Number        //Number 為屬性    {        get { return _number ;}        set { _number = value ;}    }}

 

  從上面的例子可以明顯看出,字段就是變量,而屬性就是字段的訪問方式(通常字段是private,屬性是public),這類似于C++,申明一個private 類型的變量x,通過 GetX()與SetX()函數來對x進行操作。而這里的屬性就是將這兩個函數合在一起通過set與get關鍵字對相應的字段進行處理。

  屬性的出現,極大的簡化了我們的編碼工作。與C++和java比較一下,你會發現我們不必為了一個字段而專門寫兩個函數(雖然這些函數很簡單),而且使得代碼編的更簡潔,更易讀,更易改。

  當然,屬性也可對字段進行一些處理(例如返回字段時判斷其是否為空,對字段進行賦值時判斷value是否有效等簡單或者其它更復雜的操作)。也可以設置屬性的訪問權限(如只讀,只寫,可讀可寫,不可讀不可寫)。而且現在的C#版本已經支持自動屬性,即不必為屬性指定字段,如 public int Number {get;set;} 這樣就可以申明一個屬性,編譯器會為其自動分配一個字段(編譯時),總之通過屬性,可以極大的簡化我們的操作,使得代碼的可讀性更高,可維護性更高。下面讓我們通過一些例子來深入理解屬性的作用。

    public class Program    {        private static string _number;        public static string Number //非自動屬性,可讀可寫        {            get            {                if (_number == null)                     return Convert.ToString(new NullReferenceException());                return _number;                             }            set            {                string temp = "";                foreach (var ch in value)                {                    if (char.IsDigit(ch))                        temp += ch;                }                _number = temp;            }        }        public static string ReadWrite { get; set; }    //自動屬性,可讀可寫        public static string ReadOnly { get { return "0000"; }} //自動屬性,只讀        private static string _writeOnly;        public static string WriteOnly { set { _writeOnly = value; } }  //非自動屬性,只寫        public static void Main(string[] args)        {            Number = "23kljk3j423903kj43kj432kj";            ReadWrite = "ReadWrite";            //ReadOnly = "ReadOnly";    //報錯,此屬性只讀            WriteOnly = "WriteOnly";            Console.WriteLine(Number);            Console.WriteLine(ReadWrite);            Console.WriteLine(ReadOnly);            //Console.WriteLine(WriteOnly); //報錯,此屬性只寫            Console.ReadKey();        }    }//Results://23342390343432//ReadWrite//0000

 

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信丰县| 平度市| 巩义市| 镇赉县| 夹江县| 阿瓦提县| 静海县| 瓮安县| 灵武市| 油尖旺区| 密云县| 洪江市| 聂拉木县| 敦化市| 江安县| 黔江区| 岳阳县| 雷波县| 偏关县| 凤翔县| 昌邑市| 鄂伦春自治旗| 房产| 海林市| 武川县| 体育| 璧山县| 鹿泉市| 姚安县| 孙吴县| 蒙自县| 申扎县| 德安县| 蒙阴县| 独山县| 永仁县| 东兰县| 图木舒克市| 白玉县| 务川| 上蔡县|