<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      游哥今天遇到了一個關于結構體的神現象。
      簡單點來說就是:
      一個結構體,里面沒有屬性,可以不new就使用。但在結構體里面寫了個屬性就必須要new才能使用,這是為什么呢?

      直接上代碼:

      struct Dog    //狗的結構體
      {
          public int age;
      }
      struct Cat   //貓的結構體
      {
          public int Age { get; set; }
      }
      class Program
      {
          public static void Main()
          {
              //情況A
              Dog dog1;
              dog1.age = 3;                 //片段1
              Console.WriteLine(dog1.age);  //不出錯
              Cat cat1;
              cat1.Age = 3;                 //編譯錯誤
              Console.WriteLine(cat1.Age);  //片段2
      
              //情況B
              Dog dog2 = new Dog();
              dog2.age = 3;                 //片段3
              Console.WriteLine(dog2.age);  //不出錯
              Cat cat2 = new Cat();
              cat2.Age = 3;                 //片段4
              Console.WriteLine(cat2.Age);  //不出錯
          }
      }

       

      片斷4不報錯,而片斷2則報錯。
      這里面涉及很多技術細節,你能知道這是為什么嗎?

       


      游哥來解答:
      1.結構體里只有字段,沒有屬性。狗類分析:
      片斷1,不出錯。眾所周知,結構體可以不new就使用。
      片斷3,不出錯。不new不出錯,new了就更不出錯了。

      2.結構體可以new,也可以不new。new與不new的區別是,new為會每一個成員字段賦一個默認初值(還記得default關鍵字嗎),而不new則不會這么做。
      3.任何一個屬性,編譯器都會自動生成一個與之對應的字段來保存數據,比如這里的Age屬性,就會產生出一個_age來為其保存數據。(它可能不叫_age,這不是重點,總之你看不到這個字段,但它確實存在。)
      4.了解一下,什么叫數據結構和算法吧。其實有點扯遠了,簡單來說,可以這么理解,字段就是數據結構,而方法和屬性訪問器就是算法了。(字段保存數據,而方法和屬性訪問器對這些數據進行加工計算)。
      5.為什么要提出數據結構和算法,我要說的重點是:要調用結構體的算法(各部門請注意,我要來計算了),必須先讓所有的數據就就緒(那些字段都賦了初值了嗎)。意思就是說,你要調用結構體的任何一個方法或屬性訪問器之前,必須要給所有的字段賦初始。編譯器不會去關心你的算法涉及了哪些字段(編譯器不檢查你的方法體)。甚至是你的算法沒有涉及任何字段的訪問,編譯器依然要求你將所有的字段都賦上初值才能使用。

      6.結構里有屬性。貓類分析:
      片斷2,編譯錯誤。那個隱藏的_age沒有賦初值,而你寫cat1.Age=3,是調用了Age的set訪問器,set訪問器是一個算法,你要使用這個算法,必須先將所有字段賦初始,而你的_age沒有賦初值,所以就編譯錯誤了。
      片斷4,不會出錯。你在new Cat()時,對_age進行了賦初始操作,所以后面就不出錯了。

       

       

      一點淺見 歡迎批評指正

       

       

      posted on 2013-03-21 16:42  長沙游學者  閱讀(6199)  評論(10)    收藏  舉報
      主站蜘蛛池模板: 东乡县| 一区二区三区四区精品黄| 亚洲欧洲精品一区二区| 左贡县| 欧美高清freexxxx性| 暖暖 免费 高清 日本 在线观看5| 国产亚洲精品久久久久秋霞| 国产成人午夜福利院| 加勒比无码人妻东京热| 99久久精品国产综合一区| 亚洲另类丝袜综合网| 东京一本一道一二三区| 一区二区偷拍美女撒尿视频| 久久se精品一区精品二区| 日本真人做爰免费的视频| 国产成人a在线观看视频免费| 韩国午夜福利片在线观看| 性一交一乱一伦| 香港日本三级亚洲三级| 亚洲色成人网站www永久四虎| 久章草在线毛片视频播放| 人妻夜夜爽天天爽| 亚洲精品综合网二三区| 亚洲精品国产成人| 国产区精品福利在线熟女| 久久精品国产再热青青青| 国产jjizz女人多水喷水| 日韩av在线一区二区三区| 国产亚洲中文字幕久久网| japanese边做边乳喷| 亚洲产国偷v产偷v自拍色戒| ww污污污网站在线看com| 日韩精品一区二区亚洲专区| 99久久机热/这里只有精品| 人妻影音先锋啪啪av资源 | 成人免费A级毛片无码片2022| 丰满人妻熟妇乱又仑精品| 日韩精品三区二区三区| 国产中年熟女大集合| 无套内射视频囯产| 国产一区二三区日韩精品|