傳址,傳參考,傳址 是基本但重要的概念。此概念在很多語言都通用
我使用Gif動畫檔 快速帶領大家了解 傳址,傳參考,傳址
傳值(Call By Value)
顧名思義 是把
值
傳到 另一個記憶體位置
的值
上
- 傳址 (Call By Adress)
是把記憶體位置
傳到 另一個記憶體位置
的值
上
補充:嚴格來說(
Call By Adress
)是不正統的說法,其實傳址也是傳值但傳的是記憶體位置
傳參考(Call By Reference)
是把
記憶體位置
傳到 移到另一個記憶體位置
上 (可看作同一個物件)
在C#廣義來說
基本型別 Struct (int,double,float,byte …) 可看作 傳值
一般型別 Class (自訂Class ,SqlConnection….) 可看作 傳址 更精確來說是傳Stack的值(指向Heap的記憶體位置)
在C#中並沒傳參考,只有傳值和傳址
此文作者:Daniel Shih(石頭)
此文地址: https://isdaniel.github.io/ref-address/
版權聲明:本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 3.0 TW 許可協議。轉載請註明出處!