深入C#資料類型

來源:互聯網
上載者:User

標籤:rgs   代碼   操作   條件   zhang   ons   避免   stack   引用   

一:實值型別和參考型別

 1.實值型別:

  實值型別源於System.Value家族,每個實值型別的對象都有一個獨立的記憶體地區用於儲存自己的值,實值型別

  所在的記憶體地區稱之為棧(Stack),只要在代碼中修改它,就會在記憶體地區儲存這個值。

  (對於實值型別,不同的變數會分配不同的儲存空間,並且在儲存空間中儲存的是該變數的值。賦值操作

          傳遞的是變數的值,改變一個變數的值不會影響另一個變數的值)

範例程式碼:

class program{

              static  void Main(string[] args)

{

int  heightZhang =170;

int heightLi= heightZhang;

Console.WriteLine("去年--張浩的身高是:" +heightZhang+",李明身高是:"+ heightLi);

 heightLi =180;

Console.WriteLine("今年--張浩的身高是:" +heightZhang+",李明身高是:"+ heightLi");

 

}

 2.參考型別:

  參考型別源於System.Object家族,在C#中參考型別主要包括數組,類和介面等。參考型別所在的記憶體區

二.結構體

  1.定義:

  存取修飾詞  struct   結構名

  {

            //結構體

  }

  (1)結構體可以有欄位,方法,欄位不能賦初始值。

  (2)可以不new,但有條件,結構體中有成員變數和成員方法,成員變數沒有賦值,調用成員方法,不new會報錯,所以一般先new。

三:裝箱和拆箱

 

  將實值型別轉換為參考型別的過程稱為裝箱,反之稱為拆箱

  實際開發盡量避免 裝/拆 箱

    原因:

      裝/拆 箱都會降低程式效能

四:不同類型的參數傳遞

 

概述:

使用值傳遞,在方法中對參數值的更改在調用後不能保留.

使用ref方式傳遞,可以保留對參數值的更改.

 

深入C#資料類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.