日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#對象集合初始化器淺談

C#語言還是比較常見的東西,這里我們主要介紹C#對象集合初始化器,包括介紹編譯器自動的調(diào)用了List的無參構(gòu)造方法等方面。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計、銅鼓網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、銅鼓網(wǎng)絡(luò)營銷、銅鼓企業(yè)策劃、銅鼓品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供銅鼓建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

在寫一些實體類的時候,我們往往在寫構(gòu)造方法的時候思考很長時間,除了一個無參構(gòu)造器外還在想需要寫幾個構(gòu)造器呢?哪些參數(shù)是需要初始化的?,F(xiàn)在你再也不需要為這事煩惱了。C# 3.0為你提供了C#對象集合初始化器:

 
 
 
  1. public class Book  
  2. {  
  3. ///   
  4. /// 圖書名稱  
  5. ///   
  6. public string Title { get; set; }  
  7. ///   
  8. /// 單價  
  9. ///   
  10. public float Price { get; set; }  
  11. ///   
  12. /// 作者  
  13. ///   
  14. public string Author { get; set; }  
  15. ///   
  16. /// ISBN號  
  17. ///   
  18. public string ISBN { get; set; }  
  19. }  
  20. //對象初始化器  
  21. Book book = new Book { Title="Inside COM",ISBN="123-456-789"}; 

現(xiàn)在你想初始化幾個就初始化幾個,不需要出現(xiàn)這種情況:

 
 
 
  1. public Book():this("")  
  2. {   
  3. }  
  4. public Book(string title):this(title,0)  
  5. {  
  6. }  
  7. public Book(string title, float price):this(title,price,"")  
  8. {   
  9. }  
  10. public Book(string title, float price, string isbn)  
  11. {  
  12. this.Title = title;  
  13. this.Price = price;  
  14. this.ISBN = isbn;  
 
 
 
  1. List <>g__initLocal0 = new List();  
  2. Book <>g__initLocal1 = new Book();  
  3. <>g__initLocal1.Title = "Inside COM";  
  4. <>g__initLocal1.ISBN = "123-456-789";  
  5. <>g__initLocal1.Price = 20f;  
  6. <>g__initLocal0.Add(<>g__initLocal1);  
  7. Book <>g__initLocal2 = new Book();  
  8. <>g__initLocal2.Title = "Inside C#";  
  9. <>g__initLocal2.ISBN = "123-356-d89";  
  10. <>g__initLocal2.Price = 100f;  
  11. <>g__initLocal0.Add(<>g__initLocal2);  
  12. Book <>g__initLocal3 = new Book();  
  13. <>g__initLocal3.Title = "Linq";  
  14. <>g__initLocal3.ISBN = "123-d56-d89";  
  15. <>g__initLocal3.Price = 120f;  
  16. <>g__initLocal0.Add(<>g__initLocal3); 

從上面的代碼來看,編譯器自動的調(diào)用了List的無參構(gòu)造方法,然后實例化一個個的Book,再一個個的Add進(jìn)去,和我們原來的做法沒有什么不同,但是,這是編譯器為我們做的,所以簡省了我們很多的編碼工作。

C#對象集合初始化器就算介紹完了。有人也許會說,不就是個syntx sugar么,有什么。是的,確實是個語法糖。在編譯器發(fā)展早期,編譯器科學(xué)家門一直在想方設(shè)法的優(yōu)化編譯器生成的代碼,這個時候,編譯器做的主要是對機器優(yōu)化,因為那個時候機器的時間非常寶貴,機器運算速度也不快,今天我們有了足夠好的機器了(但并不是說我們可以不關(guān)注性能的編寫程序),而且作為編寫軟件的人來說,比機器的時間寶貴得多,所以今天的編譯器也在向人優(yōu)化了,從編程語言的發(fā)展之路來講,今天的編程語言比昨天的語言更高級,也更人性化了,我們只要編寫更少的代碼,更符合人的思維的代碼,而只要關(guān)注我們值的關(guān)注的地方。體力活兒就交給編譯器吧。

【編輯推薦】

  1. C# lock關(guān)鍵字?jǐn)⑹?/font>
  2. C#.Net FrameWork簡介
  3. C# new和override簡單描述
  4. C#值類型和引用類型淺談
  5. C#標(biāo)識符簡單分析

名稱欄目:C#對象集合初始化器淺談
鏈接地址:http://www.5511xx.com/article/cojpgip.html