欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#結(jié)構(gòu)和類的不同點有哪些

這篇文章主要講解了“C#結(jié)構(gòu)和類的不同點有哪些”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#結(jié)構(gòu)和類的不同點有哪些”吧!

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡程序員、網(wǎng)頁設計師等,應用各種網(wǎng)絡程序開發(fā)技術(shù)和網(wǎng)頁設計技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)公司專業(yè)提供網(wǎng)站建設、成都網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站制作(企業(yè)站、響應式網(wǎng)站建設、電商門戶網(wǎng)站)等服務,從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!

1、C#結(jié)構(gòu)是堆棧對象,不能在堆上創(chuàng)建它;

2、C#結(jié)構(gòu)可以繼承接口,但是不能繼承自其它結(jié)構(gòu);

3、不能重寫結(jié)構(gòu)的默認構(gòu)造函數(shù),需要自定義構(gòu)造函數(shù)時必須創(chuàng)建附帶參數(shù)的構(gòu)造函數(shù),以保證和默認構(gòu)造函數(shù)的參數(shù)列表有所區(qū)別;

4、當使用new來創(chuàng)建結(jié)構(gòu)對象時其構(gòu)造函數(shù)自動被調(diào)用,若僅是像聲明一個int類型的變量那樣聲明一個結(jié)構(gòu)類型的變量而不new的話,那么結(jié)構(gòu)中成員變量必須被初始化后才能使用該結(jié)構(gòu)對象。

C#結(jié)構(gòu)實例:

struct Student : IGrade   public int maths;  public int english;  public int csharp;   public int GetTot()      {  return maths+english+csharp;      }       public Student(int y)  {  maths = english = csharp = y;   }  }      public string GetGrade()   {  if(GetTot() > 240 )   return "Brilliant";  if(GetTot() > 140 )  return "Passed";  return "Failed";   }  }  interface IGrade  {      string GetGrade();  }

接下來看看怎么使用剛才創(chuàng)建的C#結(jié)構(gòu),代碼如下:

Student s1 = new Student();  Console.WriteLine(s1.GetTot());  Console.WriteLine(s1.GetGrade());

C#結(jié)構(gòu)示例之輸出:

0  Failed

上述代碼顯示默認的構(gòu)造函數(shù)被調(diào)用,構(gòu)造函數(shù)將所有結(jié)構(gòu)中的int成員變量都自動初始化為0,這就是為何合計為0的原因。

下面來看一段有意思的代碼:

Student s2;  s2.maths = s2.english = s2.csharp = 50;  Console.WriteLine(s2.GetTot());  Console.WriteLine(s2.GetGrade());

C#結(jié)構(gòu)示例之輸出:

150  Passed

上述代碼我們沒有使用new來創(chuàng)建結(jié)構(gòu),所以構(gòu)造函數(shù)不會被調(diào)用,僅是聲明一個結(jié)構(gòu)類型的變量s2,但是緊接著我們?yōu)榻Y(jié)構(gòu)的所有成員變量進行初始化賦值,那么結(jié)構(gòu)照樣可以使用。盡管很多人都在爭論,認為這種賦值伎倆太不專業(yè)且顯得有點傻,然而誰也無法找到合情合理的解釋,但是這樣做的確可行。當我們注釋掉賦值語句后,編譯器則會報錯:使用了未賦值的本地變量s2。

我們還可以使用自定義構(gòu)造函數(shù)并傳遞一個整型變量來創(chuàng)建結(jié)構(gòu)對象,代碼如下:

Student s3 = new Student(90);  Console.WriteLine(s3.GetTot());  Console.WriteLine(s3.GetGrade());

C#結(jié)構(gòu)示例之輸出:

270  Brilliant

不像類是引用類型,結(jié)構(gòu)是值類型的,所以結(jié)構(gòu)比類操作起來更簡單。當使用類僅存儲一些數(shù)據(jù)時,你會發(fā)現(xiàn)使用結(jié)構(gòu)會好得多!結(jié)構(gòu)化數(shù)組是在堆上創(chuàng)建的,而以一個一個類的形式來創(chuàng)建對象,則必須提前在堆上分配內(nèi)存,而且每個類的引用地址也需要額外保存起來,所以使用結(jié)構(gòu)化數(shù)組則更加的有效率。實際上在.Net框架里大部分類也都是結(jié)構(gòu),譬如:System.Drawing.Point。

感謝各位的閱讀,以上就是“C#結(jié)構(gòu)和類的不同點有哪些”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對C#結(jié)構(gòu)和類的不同點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

當前題目:C#結(jié)構(gòu)和類的不同點有哪些
標題URL:http://chinadenli.net/article48/jsighp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、電子商務網(wǎng)站設計、做網(wǎng)站、網(wǎng)站策劃、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設
激情丁香激情五月婷婷| 亚洲av又爽又色又色| 国产一区二区精品丝袜| 日韩无套内射免费精品| 国产综合香蕉五月婷在线| 中国一区二区三区人妻| 中国美女偷拍福利视频| 亚洲精品国产第一区二区多人| 午夜色午夜视频之日本| 亚洲黄香蕉视频免费看| 亚洲一区二区三区四区性色av | 午夜福利国产精品不卡| 国产亚洲视频香蕉一区| 亚洲天堂一区在线播放| 国产成人精品在线播放| 成人精品视频一区二区在线观看| 国产又粗又黄又爽又硬的| 欧美国产日本免费不卡| 国产三级视频不卡在线观看| 精品国产亚洲av久一区二区三区| 色一欲一性一乱—区二区三区| 麻豆一区二区三区精品视频| 亚洲天堂精品一区二区| 亚洲高清中文字幕一区二区三区| 国产精品流白浆无遮挡| 亚洲欧洲精品一区二区三区| 一二区中文字幕在线观看| 免费一区二区三区少妇 | 亚洲欧美日韩国产成人| 欧美成人久久久免费播放| 亚洲国产精品国自产拍社区| 国内尹人香蕉综合在线| 国产av乱了乱了一区二区三区| 亚洲人午夜精品射精日韩 | 尹人大香蕉中文在线播放| 日韩一区二区三区四区乱码视频| 俄罗斯胖女人性生活视频| 国产精品一区二区三区欧美| 日韩在线精品视频观看| 东北女人的逼操的舒服吗| 日韩熟妇人妻一区二区三区|