国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

C#學習系列-類與結構的區別

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

C#學習系列-類與結構的區別

參考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9830&ct=31038

如有問題,歡迎指正

類:引用類型,存儲在堆中,棧中存儲引用地址,在方法的傳輸中只是傳輸地址的引用,修改指向的對象會影響原有對象的值,傳輸中消耗內存小。

結構:值類型,存儲在堆棧中,傳輸過程中傳輸整個對象的副本,修改指向對象的值不會影響原有的對象,傳輸中消耗內存大。

下面貼代碼

    class PRogram    {        static void Main(string[] args)        {            /*聲明類對象 并賦值10*/            TestClass TC1 = new TestClass();            TC1.x = 10;            TC1.y = "10";            Console.WriteLine("/*聲明類對象TC1 并賦值10*/");            Console.WriteLine("TC1 x={0} y={0}", TC1.x, TC1.y);            TC1.x = 20;            TC1.y = "20";            Console.WriteLine("/*修改類對象 TC1 值為20*/");            Console.WriteLine("TC1 x={0} y={0}", TC1.x, TC1.y);            /*執行類傳遞 并修改傳遞后的值*/            Console.WriteLine("/*創建類對象 TC2 指向 TC1,并修改 值為10*/");            TestClass TC2 = TC1;            TC2.x = 10;            TC2.y = "10";            Console.WriteLine("/*類傳輸過程中傳遞的是存儲在堆棧中的引用地址 傳輸中消耗內存小 并沒有傳送存儲在堆中的值 所以原有對象受到影響*/");            Console.WriteLine("TC1 x={0} y={0}", TC1.x, TC1.y);            Console.WriteLine("TC2 x={0} y={0}", TC2.x, TC2.y);            /*聲明結構對象*/            Console.WriteLine("/*聲明結構對象TS1 并賦值10*/");            TestStruct TS1 = new TestStruct();            TS1.x = 10;            TS1.y = "10";            Console.WriteLine("TS1 x={0} y={0}", TS1.x, TS1.y);            Console.WriteLine("/*修改結構對象 TS1 值為20*/");            TS1.x = 20;            TS1.y = "20";            Console.WriteLine("TS1 x={0} y={0}", TS1.x, TS1.y);            /*執行結構傳遞 并修改傳遞后的值*/            Console.WriteLine("/*創建結構對象 TS2 指向 TS1,并修改 值為10*/");            TestStruct TS2 = TS1;            TS2.x = 10;            TS2.y = "10";            Console.WriteLine("/*結構傳輸過程中 會傳遞整個對象的副本 傳輸中消耗內存大 所以修改對原有對象不受影響*/");            Console.WriteLine("TS1 x={0} y={0}", TS1.x, TS1.y);            Console.WriteLine("TS2 x={0} y={0}", TS2.x, TS2.y);            Console.ReadLine();        }    }    public class TestClass    {        public int x;        public string y;    }    public struct TestStruct    {        public int x;        public string y;    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定襄县| 靖西县| 东乌| 通山县| 措美县| 印江| 龙胜| 金乡县| 类乌齐县| 广水市| 海宁市| 名山县| 栖霞市| 贵南县| 塔城市| 盐亭县| 南开区| 顺昌县| 龙里县| 留坝县| 铜梁县| 行唐县| 进贤县| 临汾市| 嘉鱼县| 金沙县| 六安市| 天等县| 无极县| 乡宁县| 枣阳市| 尼勒克县| 龙里县| 凌云县| 玛沁县| 乐业县| 朔州市| 丰台区| 靖西县| 兴文县| 股票|