iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 11
0
自我挑戰組

Framework 設計原則系列 第 11

Types 設計原則(6) - Refrence Type VS Value Type

  • 分享至 

  • xImage
  •  

Types可分為兩種,Reference type 跟 value type

那些由我們新增的程式當中

除了Struts與Enums為value type之外

Class, Abstract Class, Static Class, Delegate, Exception 都是Reference type

Interface則同時是Reference type 跟 value type

了解Reference type與value type的運作方式,對於增加程式效率來說很有幫助

這種感覺好像回到了大學時後學計概的當初

雖然知道是什麼,但搞不太懂為什麼。可悲的是現在好像也差不多

value type稱為實體類別,包括

  1. sbyte, byte, char, short, ushort, int, uint, long, ulong
  2. float, double
  3. decimal
  4. bool
  5. Struts
  6. Enums

參考資料:
https://msdn.microsoft.com/en-us/library/s1ax56ch.aspx

value type的內容會儲存記憶體的Stack中,速度較快

不允許為null,除非是nullable types

Reference type的資料則存放於Heap中


上一篇
Types 設計原則(5) - Enum
下一篇
Member Design(1) - 共通原則
系列文
Framework 設計原則30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言