最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中類與結(jié)構(gòu)的區(qū)別實(shí)例分析

 更新時(shí)間:2014年08月21日 09:03:32   投稿:shichen2014  
這篇文章主要介紹了C#中類與結(jié)構(gòu)的區(qū)別,類與結(jié)構(gòu)是C#初學(xué)者比較輕易混淆的概念,本文加以實(shí)例說明,需要的朋友可以參考下

類與結(jié)構(gòu)是C#程序設(shè)計(jì)中基本的數(shù)據(jù)類型,而初學(xué)者往往不能很好的分清二者之間的區(qū)別。本文就以附帶實(shí)例形式加以說明。具體如下:

一、基本概念:

類:引用類型,存儲(chǔ)在堆中,棧中存儲(chǔ)引用地址,在方法的傳輸中只是傳輸?shù)刂返囊?,修改指向的?duì)象會(huì)影響原有對(duì)象的值,傳輸中消耗內(nèi)存小。

結(jié)構(gòu):值類型,存儲(chǔ)在堆棧中,傳輸過程中傳輸整個(gè)對(duì)象的副本,修改指向?qū)ο蟮闹挡粫?huì)影響原有的對(duì)象,傳輸中消耗內(nèi)存大

二、實(shí)例代碼如下:

class Program
{
    static void Main(string[] args)
    {
      /*聲明類對(duì)象 并賦值10*/
      TestClass TC1 = new TestClass();
      TC1.x = 10;
      TC1.y = "10";
      Console.WriteLine("/*聲明類對(duì)象TC1 并賦值10*/");
      Console.WriteLine("TC1 x={0} y={0}", TC1.x, TC1.y);
      TC1.x = 20;
      TC1.y = "20";
      Console.WriteLine("/*修改類對(duì)象 TC1 值為20*/");
      Console.WriteLine("TC1 x={0} y={0}", TC1.x, TC1.y);

      /*執(zhí)行類傳遞 并修改傳遞后的值*/
      Console.WriteLine("/*創(chuàng)建類對(duì)象 TC2 指向 TC1,并修改 值為10*/");
      TestClass TC2 = TC1;
      TC2.x = 10;
      TC2.y = "10";
      Console.WriteLine("/*類傳輸過程中傳遞的是存儲(chǔ)在堆棧中的引用地址 傳輸中消耗內(nèi)存小 并沒有傳送存儲(chǔ)在堆中的值 所以原有對(duì)象受到影響*/");
      Console.WriteLine("TC1 x={0} y={0}", TC1.x, TC1.y);
      Console.WriteLine("TC2 x={0} y={0}", TC2.x, TC2.y);

      /*聲明結(jié)構(gòu)對(duì)象*/
      Console.WriteLine("/*聲明結(jié)構(gòu)對(duì)象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("/*修改結(jié)構(gòu)對(duì)象 TS1 值為20*/");
      TS1.x = 20;
      TS1.y = "20";
      Console.WriteLine("TS1 x={0} y={0}", TS1.x, TS1.y);
      /*執(zhí)行結(jié)構(gòu)傳遞 并修改傳遞后的值*/
      Console.WriteLine("/*創(chuàng)建結(jié)構(gòu)對(duì)象 TS2 指向 TS1,并修改 值為10*/");
      TestStruct TS2 = TS1;
      TS2.x = 10;
      TS2.y = "10";
      Console.WriteLine("/*結(jié)構(gòu)傳輸過程中 會(huì)傳遞整個(gè)對(duì)象的副本 傳輸中消耗內(nèi)存大 所以修改對(duì)原有對(duì)象不受影響*/");
      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;
}

代碼運(yùn)行結(jié)果如下圖所示:

相關(guān)文章

  • C#中的匿名函數(shù)、lambda表達(dá)式解讀

    C#中的匿名函數(shù)、lambda表達(dá)式解讀

    這篇文章主要介紹了C#中的匿名函數(shù)、lambda表達(dá)式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • c#中token的使用方法實(shí)例

    c#中token的使用方法實(shí)例

    本文主要介紹了c#中token的使用方法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#中使用委托的3種方式代碼示例

    C#中使用委托的3種方式代碼示例

    這篇文章主要介紹了C#中使用委托的3種方式代碼示例,本文直接給出代碼實(shí)例,沒有相關(guān)的說明解釋,需要的朋友可以參考下
    2015-03-03
  • C#中委托的+=和-=深入研究

    C#中委托的+=和-=深入研究

    這篇文章主要介紹了C#中委托的+=和-=深入研究,本文深入研究+=和-=在執(zhí)行時(shí)都做了哪些事情,加深對(duì)C#委托的理解和使用,需要的朋友可以參考下
    2015-01-01
  • C#同步、異步遠(yuǎn)程下載文件實(shí)例

    C#同步、異步遠(yuǎn)程下載文件實(shí)例

    使用C#下載一個(gè)Internet上的文件主要是依靠HttpWebRequest/HttpWebResonse和WebClient。具體處理起來還有同步和異步兩種方式,所以我們其實(shí)有四種組合
    2014-04-04
  • C# Winform 讓整個(gè)窗口都可以拖動(dòng)

    C# Winform 讓整個(gè)窗口都可以拖動(dòng)

    Windows 的 API 果然強(qiáng)大啊.以前要實(shí)現(xiàn)全窗口拖動(dòng), 要寫鼠標(biāo)按下和抬起事件, 很是麻煩, 偶爾還會(huì)出現(xiàn) BUG
    2011-05-05
  • C#中out與ref作用區(qū)別示例分析

    C#中out與ref作用區(qū)別示例分析

    這篇文章主要為大家介紹了C#中out與ref作用區(qū)別示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 簡(jiǎn)述C#枚舉高級(jí)戰(zhàn)術(shù)

    簡(jiǎn)述C#枚舉高級(jí)戰(zhàn)術(shù)

    這篇文章主要介紹了簡(jiǎn)述C#枚舉高級(jí)戰(zhàn)術(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解C#數(shù)據(jù)類型及其轉(zhuǎn)換

    詳解C#數(shù)據(jù)類型及其轉(zhuǎn)換

    這篇文章主要介紹了C#數(shù)據(jù)類型及其轉(zhuǎn)換詳解,在C#中,數(shù)據(jù)類型可以分為幾種類型,今天小編通過本文給大家詳細(xì)介紹,需要的朋友可以參考下
    2020-07-07
  • C#?使用Aspose.Cells?導(dǎo)出Excel的步驟及問題記錄

    C#?使用Aspose.Cells?導(dǎo)出Excel的步驟及問題記錄

    Aspose.Cells是一款功能強(qiáng)大的Excel文檔處理和轉(zhuǎn)換控件,開發(fā)人員和客戶電腦無需安裝Microsoft Excel也能在應(yīng)用程序中實(shí)現(xiàn)類似Excel的強(qiáng)大數(shù)據(jù)管理功能,對(duì)C#?使用Aspose.Cells?導(dǎo)出Excel的步驟及問題記錄感興趣的朋友一起看看吧
    2022-01-01

最新評(píng)論

盐亭县| 玉山县| 岑巩县| 大名县| 齐河县| 抚州市| 鄂温| 历史| 大名县| 福清市| 翼城县| 阜南县| 潮安县| 曲周县| 金华市| 青铜峡市| 隆子县| 普定县| 德安县| 皮山县| 海兴县| 辽中县| 和龙市| 屏南县| 河源市| 清流县| 尉犁县| 固始县| 乌拉特后旗| 丹凤县| 海阳市| 平乐县| 常宁市| 三明市| 从江县| 岳阳市| 昭觉县| 巨野县| 淮北市| 和田县| 巴里|