亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

C#特性之數據類型

2019-11-17 02:21:36
字體:
來源:轉載
供稿:網友

C#特性之數據類型

這篇文章主要通過演示類在不同發展中的不通過定義方法,來向讀者表述它們之間的區別和聯系。

在C#1時代,我們喜歡這樣定義類:

public class PRoduct    {        private string _name;        public string Name {            get { return _name; }        }        private decimal _price;        public decimal Price        {            get { return _price; }        }        public Product(string name, decimal price)        {            this._name = name;            this._price = price;        }        public static ArrayList GetArrayList()        {            ArrayList list = new ArrayList();            list.Add(new Product("WindowsPhone", 10m));            list.Add(new Product("Apple", 10m));            list.Add(new Product("Android", 10m));            return list;        }        public override string ToString()        {            return String.Format("{0}--{1}", _name, _price);        }    }

局限性:1、ArrayList沒有提供與其內部內容有關的編譯時信息,如果不慎寫錯,編譯器也不會出現任何提示;

2、代碼中為屬性提供了公共的取值方法,這意味著如果添加對應的賦值方法,那么賦值方法必須是共有的;

3、用于創建屬性和變量的代碼很復雜,這違背了我們進行封裝的原本意愿;

在C#2時代,我們喜歡這樣定義類:

public class Product    {        private string _name;        public string Name {            get { return _name; }            private set { _name = value; }        }        private decimal _price;        public decimal Price        {            get { return _price; }            private set { _price = value; }        }        public Product(string name, decimal price)        {            Name = name;            Price = price;        }        public static List<Product> GetArrayList()        {            List<Product> list = new List<Product>();            list.Add(new Product("WindowsPhone", 10m));            list.Add(new Product("Apple", 10m));            list.Add(new Product("Android", 10m));            return list;        }        public override string ToString()        {            return String.Format("{0}--{1}", Name, Price);        }    }

現在,屬性擁有了私有的賦值方法,并且它能非常聰明的“猜出”List<Product>是告知編譯器列表中只能包含Product。試圖將一個不同類型添加到列表中會造成編譯時錯誤,并且當你從列表中獲取結果時,也并不需要轉化結果的類型;有效的解決了C#1中的前兩個問題;

在C#3時代,我們喜歡這樣定義類:

public class Product    {        public string Name        {            get; private set;        }        public decimal Price        {            get; private set;        }        public Product(){}        public static List<Product> GetArrayList()        {            return new List<Product>()            {                new Product {Name = "WindowsPhone", Price = 10m},                new Product {Name = "Apple", Price = 10m},                new Product {Name = "Android", Price = 10m}            };        }        public override string ToString()        {            return String.Format("{0}--{1}", Name, Price);        }    }

發展到這個階段,我們可以很明顯的發現,不再有任何代碼(或者可見的變量)與屬性關聯,而且硬編碼的列表是以一種全然不同的方式構建,這樣一來,我們實際上是完全可以刪除就有的構造函數,但是外部代碼就不能再創建其他的產品實例。自動熟悉大大簡化了操作;

在C#4時代,我們喜歡這樣定義類:

public class Product    {        private readonly string _name;        public string Name        {            get { return _name; }        }        private readonly decimal _price;        public decimal Price        {            get { return _price; }        }        public Product(string name,decimal price)        {            this._name = name;            this._price = price;        }        public static List<Product> GetArrayList()        {            return new List<Product>()            {                new Product(name: "WindowsPhone", price: 10m),                new Product(name: "Apple", price: 10m),                new Product(name: "Android", price: 10m)            };        }        public override string ToString()        {            return String.Format("{0}--{1}", Name, Price);        }    }

在這個特定的示例中,C#4的特性的好處還不是很明顯,但當方法或構造函數包含多個參數時,它可以是代碼的含義更加清-特別是當參數類型相同,或某個參數為null時。當然,你可以選擇什么時候使用該特性,只在是代碼更好的理解時才指定參數的名稱;

總結:

C#1(只讀屬性,弱類型集合)------》C#2(私有屬性賦值方法,強類型集合)------》C#3(自動實現的熟悉,增強的集合和對象初始化)------》C#4(用命名實參更清晰的調用構造函數和方法)

注:由于C#5在這方面的特性表現的沒有太大變化,所以就不再表述。

如果你覺得這篇文章對你有所幫助,歡迎轉載,但請注明出處!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品在线免费观看视频| 国产日韩在线观看av| 九九精品视频在线| 亚洲自拍小视频免费观看| 国产91色在线免费| 亚州国产精品久久久| 亚洲电影免费观看| 色无极影院亚洲| 国产有码在线一区二区视频| 欧美综合在线观看| 在线国产精品播放| 91美女福利视频高清| www国产91| 亚洲高清av在线| 日韩欧美高清在线视频| 久久人人看视频| 欧美另类交人妖| 中文字幕在线看视频国产欧美在线看完整| 人人爽久久涩噜噜噜网站| 97在线免费视频| 亚洲美女在线视频| 欧美成人午夜视频| 亚洲精品色婷婷福利天堂| 亚洲а∨天堂久久精品9966| 久久福利视频网| 国产精品久久久久久久电影| 亚洲综合社区网| 奇米4444一区二区三区| www.日本久久久久com.| 另类图片亚洲另类| 精品日韩中文字幕| 97成人精品视频在线观看| 国产亚洲日本欧美韩国| 欧美成人性生活| 亚洲综合精品伊人久久| 96精品久久久久中文字幕| 久久精品国产电影| 日韩一区在线视频| 亚洲成人网久久久| 欧美一区二区色| 自拍亚洲一区欧美另类| 欧美日韩精品中文字幕| 亚洲国产精品嫩草影院久久| 欧美激情亚洲综合一区| 成人性生交大片免费观看嘿嘿视频| 久久视频免费在线播放| 国产精品热视频| 91精品国产自产在线老师啪| 国产精品久久久久av免费| 中文字幕一区二区三区电影| 国产精品久久久久久久久免费看| 亚洲国产欧美久久| 日韩在线观看你懂的| 亚洲高清一二三区| 亚洲欧美另类中文字幕| 欧美亚洲免费电影| 久久激情视频免费观看| 亚洲а∨天堂久久精品9966| 国产精品一二三在线| 有码中文亚洲精品| 亚洲精品在线91| 亚洲精品一区中文字幕乱码| 91亚洲精品一区二区| 欧美一区二三区| 国产精品第一第二| 午夜精品久久久久久久99黑人| 国产精品视频午夜| 欧美激情亚洲一区| 国产深夜精品福利| 成人免费在线网址| 亚洲剧情一区二区| 国产日韩欧美在线视频观看| 欧美丝袜美女中出在线| 中文字幕在线看视频国产欧美| 亚洲无限乱码一二三四麻| 亚洲精品91美女久久久久久久| 成人黄色免费在线观看| 欧美专区福利在线| 色樱桃影院亚洲精品影院| 日本久久久久久久久| 91久久在线观看| 日韩av电影手机在线观看| 国外成人在线视频| 日韩欧美精品中文字幕| 97精品视频在线播放| 欧美日本在线视频中文字字幕| 欧美巨乳美女视频| 欧美激情国产精品| 欧美在线一级视频| 久久精品中文字幕一区| 国产精品狼人色视频一区| 欧美日韩免费观看中文| 久色乳综合思思在线视频| 久久久国产一区二区| 国产精品流白浆视频| 91国内产香蕉| 久久av在线播放| 精品国产一区二区三区久久久狼| 国产福利视频一区二区| 九九热精品视频| 欧美福利视频网站| 日韩高清电影免费观看完整| 欧美日本黄视频| 国产aⅴ夜夜欢一区二区三区| 欧美亚洲成人网| 91色在线观看| 国产成人精品av在线| 亚洲免费视频一区二区| 国产精品9999| 中文字幕日韩精品有码视频| 日韩女优人人人人射在线视频| 亚洲天天在线日亚洲洲精| 国产精品久久久久久久久免费| 亚洲欧美国产日韩天堂区| 亚洲综合中文字幕在线| 中日韩美女免费视频网址在线观看| 亚洲肉体裸体xxxx137| 久久夜精品va视频免费观看| 97在线观看视频| 欧美日韩国产成人在线| 亚洲日本成人女熟在线观看| 日韩成人激情视频| 欧美精品福利视频| 海角国产乱辈乱精品视频| 国产精品18久久久久久麻辣| 欧美激情精品久久久久久黑人| 日日噜噜噜夜夜爽亚洲精品| 欧美另类暴力丝袜| 亚洲精品720p| 日韩中文字幕精品视频| 成人激情视频免费在线| 亚洲色图25p| 神马国产精品影院av| 精品视频www| 久久中文字幕一区| 在线观看欧美视频| 久久久在线观看| 日韩av在线影院| 久久精品视频va| 欧美日韩一区二区精品| 久久影院资源站| 欧美一级成年大片在线观看| 亚洲精品免费一区二区三区| 精品国产乱码久久久久久虫虫漫画| 91高清视频免费| 亚洲人精品午夜在线观看| 精品少妇一区二区30p| 久久夜色撩人精品| 亚洲va码欧洲m码| 国产亚洲欧美日韩一区二区| 亚洲精品国产精品国自产观看浪潮| 日韩中文字幕在线精品| 亚洲综合国产精品| 欧美一级淫片aaaaaaa视频| 日韩精品中文字幕在线播放| 久久久成人精品| 456国产精品| 日产日韩在线亚洲欧美| 69久久夜色精品国产69乱青草| 69视频在线免费观看| 亚洲码在线观看| y97精品国产97久久久久久| 中文字幕亚洲综合久久| 久久av.com|