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

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

C#值類型引用類型

2019-11-14 15:47:55
字體:
來源:轉載
供稿:網友

CLR 定義了兩種類型,ReferenceTypes引用類型 和 ValueTypes 值類型。我們定義的各種Class都是引用類型,而我們用的decimal int 之類是值類型。
他們有什么區別呢?為什么 CLR要搞出兩種類型出來呢?肯定是因為他們各有各的優點。我們會分別論述
首先 引用類型,我們知道 創建引用類型的實例 必須通過new 這個關鍵字,比如 說 Person p=new Person();
這個時候 會在托管堆中申請出一片空間出來,用來存放我們真正的這個對象,同時在棧中 會存放一個引用p 存放該對象在堆中的內存地址。也就是說 p中存放的是地址,我們管p叫做對對象的引用。
也就是說 我們沒創建一個引用類型的對象,都要通過new來申請空間,但是在堆中申請空間 比較慢而且損耗性能。所以CLR有了值類型的想法,值類型 就是把所有數據都存放在棧里面,因為棧比較快,所以性能會比較好。
比如 int num=3; 就在棧 內存中 有個變量num 它里面存的就不是什么內存地址 ,而是真正的數值3。
你可能會說,既然??欤俏覀兏纱喽挤旁跅@锖昧?。這也是行不通的。我們寫程序的時候會經常有賦值操作,比如
我們寫 Person p2=p; 也就是說我們 又定義了一個p2對象 ,指向原先的p對象。這個時候在內存中真正發生了呢,堆中并沒有創建一個新的對象,而是 有個新的p2引用指向原來的對象而已。p 和p2指向的是同一個對象。
而 對于 int num=3; int num2=num;而言 就要在棧中完整復制一個空間。這樣的話,如果本身對象體積比較大,經常復制的話,空間需要就太大了。而同樣對于引用類型,只不過是復制了內存地址而已。
所以 這兩種類型都是有其存在意義的。當然,上面說的這些并不代表只有這么多優點。


 

我們知道C#中所有對象 都繼承自 system.object。這一點不要有半點懷疑。那什么時候 分支出了值類型和引用類型兩種呢?
system.object有個抽象子類system.ValueType, 具體的struct Enum等都是繼承自這個抽象類,但是這些具體的值類型之后 卻是不可以再“遺傳”的,不可以再有子類,
就從這里 斷了根。 而引用類型則是從System.object直接往下繼承,(不經過system.ValueType),類可以有自己的子類,一直向下,綿延不絕。

關于引用類型 和值類型的賦值??聪旅娴氖纠?/p>

 class 引用類型和值類型    {        public static void Main(string[] args)        {            PersonClass p1 = new PersonClass();                      p1.name = "shenwei"; p1.age = 23; p1.mobile = "xxxxx";            PersonStruct p2 = new PersonStruct();            Console.WriteLine(p2.age);            p2.name = "zhangxiaomao"; p2.age = 23; p2.mobile = "yyyyy";            //重新定義兩個對象            PersonClass p3 = p1;  //指向p1            PersonStruct p4 = p2;  //復制P2            //當我們對 新的對象做修改時,原來的對象會改變嗎?            p3.name = "changed";            p4.name = "changed";            Console.WriteLine(p1.name);            Console.WriteLine(p2.name);            Console.ReadKey();        }    }    public class PersonClass    {        public int age;        public string name;        public string mobile;    }    public struct PersonStruct    {        public int age;        public string name;        public string mobile;            }

 

運行結果


 

那么當我們要定義自己的類型時,如何決定我們是定義成 引用類型 class 呢,還是定義成值類型 呢
有這么幾條原則
如果要定義成值類型,那 你的類型 一定不可以 繼承其他類型,也不可以被其他類型繼承,這是必須要遵守的,上面也講過 值類型 斷了根
還有就是 我們很少需要對 結構體中的字段進行修改。甚至 我們寫代碼的時候 習慣直接設置 結構體中的字段為readonly形式的,即只讀的。
我個人認為 結構體就是為了 更方便的使用 一整塊基本不變的數據而已。
那除了列的這種情況,基本都是定義成class了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本欧美精品在线| 国产自产女人91一区在线观看| 亚洲美女www午夜| 国产精品久久久久aaaa九色| 中文字幕国内精品| 欧美日韩aaaa| 97视频免费在线观看| 91久久久久久| 高清在线视频日韩欧美| 国产精品一区二区三区成人| 欧美激情综合亚洲一二区| 日韩在线观看免费全| 日韩欧美在线中文字幕| 日韩激情av在线免费观看| 欧美xxxwww| 亚洲电影免费在线观看| 精品毛片三在线观看| 久久久久久久av| 日韩精品高清在线观看| 国产亚洲精品久久久久久| 2019中文字幕在线观看| 国产丝袜一区二区三区| 色偷偷888欧美精品久久久| 亚洲天堂成人在线| 国产精品第七影院| 国产精品丝袜视频| 午夜精品理论片| 黄网站色欧美视频| 欧美在线欧美在线| 一区二区欧美在线| 国产精品自拍偷拍| 亚洲欧美日本伦理| 永久555www成人免费| 一本色道久久88精品综合| 国内精久久久久久久久久人| 久久国产精品久久久久久久久久| 久久噜噜噜精品国产亚洲综合| 亚洲欧美在线一区| 欧美电影免费观看高清完整| 中文字幕日韩欧美| 中文字幕在线观看亚洲| 亚洲人成电影网站色www| 92裸体在线视频网站| 久久网福利资源网站| 国产精品免费网站| 69影院欧美专区视频| 欧美日韩国产一区二区| 海角国产乱辈乱精品视频| 色婷婷av一区二区三区久久| 一本色道久久88综合亚洲精品ⅰ| 国产精品嫩草视频| 国产成人精品av| 亚洲第一精品夜夜躁人人爽| 国产精品扒开腿做爽爽爽男男| 97在线看免费观看视频在线观看| 美女精品久久久| 欧美日韩国产成人高清视频| 在线中文字幕日韩| 日韩毛片在线看| 欧美电影免费观看高清完整| 国产精品久久一| 日韩大陆欧美高清视频区| 日韩国产一区三区| 色在人av网站天堂精品| 97在线视频观看| 高清欧美性猛交xxxx黑人猛交| 日韩欧美主播在线| 亚洲视频axxx| 91香蕉嫩草神马影院在线观看| 亚洲影影院av| 亚洲天天在线日亚洲洲精| 国产欧美一区二区三区四区| 91在线视频一区| 欧美国产在线电影| 久久久99久久精品女同性| 欧美在线一区二区视频| 亚洲乱亚洲乱妇无码| 欧美午夜精品在线| 国产精品成久久久久三级| 亚洲美女性视频| 91欧美精品成人综合在线观看| 福利精品视频在线| 国产91精品青草社区| 亚洲男人天堂网| 日本精品视频网站| 国产精品嫩草视频| 亚洲最大的免费| 亚洲精品一区久久久久久| 狠狠躁夜夜躁人人爽超碰91| 国产精品久久久久9999| 国产一区二区三区在线| 国产成人亚洲精品| 欧美日韩第一页| 欧美性猛交xxxx乱大交蜜桃| 一区二区三区视频观看| 日韩网站免费观看高清| 亚洲美女又黄又爽在线观看| 欧美国产在线电影| 亚洲女在线观看| 欧美日韩成人精品| 日本精品性网站在线观看| 欧美综合激情网| 欧美日韩免费一区| 国产日韩欧美一二三区| 国产精品视频网址| 久久久999精品| 色婷婷综合久久久久中文字幕1| 日韩有码视频在线| 国产精品99久久久久久久久久久久| 最近中文字幕mv在线一区二区三区四区| 国产精品久久久久国产a级| 国产精品久久久久久av福利| 亚洲国产精品字幕| 1769国内精品视频在线播放| 青青草精品毛片| 久青草国产97香蕉在线视频| 国产亚洲免费的视频看| 亚洲图片欧洲图片av| 日本精品久久久久久久| 亚洲国产成人精品电影| 色偷偷偷亚洲综合网另类| 欧美成人免费大片| 日韩欧美aⅴ综合网站发布| 国产精品电影久久久久电影网| 久久91亚洲人成电影网站| 日韩在线高清视频| 国产亚洲精品久久久优势| 亚洲国语精品自产拍在线观看| 国产97色在线|日韩| 国产一区二区动漫| 亚洲综合一区二区不卡| 国产精品稀缺呦系列在线| 午夜精品国产精品大乳美女| 成人福利在线视频| 欧洲成人免费aa| 欧洲亚洲免费在线| 亚洲欧美另类在线观看| 国产视频综合在线| 久久久久久97| 久久久91精品国产一区不卡| 国产亚洲人成网站在线观看| 久久久久久高潮国产精品视| 欧美激情中文字幕在线| 欧美性在线观看| 久久男人av资源网站| 亚洲国产精品女人久久久| 精品国产精品三级精品av网址| 国产精品日韩在线一区| 中文字幕久热精品在线视频| 国产精品久久久久久亚洲影视| 久久影视电视剧凤归四时歌| 亚洲欧美制服中文字幕| 久久久精品视频成人| 亚洲第一精品福利| 国产精品情侣自拍| 国产成人亚洲综合青青| 欧美精品激情在线| 国产婷婷97碰碰久久人人蜜臀| 国产日韩精品在线| 亚洲天堂av高清| 久久精品2019中文字幕| 日韩中文av在线| 亚洲免费福利视频| 亚洲最大福利视频|