五分鐘快速了解 [傳址,傳參考,傳址]

  • 7797
  • 0
  • c#
  • 2019-04-29

傳址,傳參考,傳址  是基本但重要的概念。此概念在很多語言都通用

我使用Gif動畫檔 快速帶領大家了解 傳址,傳參考,傳址 

1. 傳值(Call By Value)

    顧名思義 是把傳到 另一個記憶體位置


2. 傳址(Call By Adress)

    是把記憶體位置傳到 另一個記憶體位置


3. 傳參考(Call By Reference)

   是把記憶體位置傳到  移到另一個記憶體位置 

基本型別 Struct (int,double,float,byte ...)  可看作 傳值

一般型別 Class (自訂Class ,SqlConnectio....)  可看作 傳址  更精確來說是傳Stack的值(指向Heap的記憶體位置)

 

在C#廣義來說

沒傳參考,只有傳值和傳址

因為在動態配置記憶體(new)一個物件時,是Heap記憶體分配一塊區域給物建並由Stack記憶體指向此區

概念如下圖

 


如果本文對您幫助很大,可街口支付斗內鼓勵石頭^^