close

一、強型別 vs 弱型別

1. C#是強型別語言,C#中的變數在開發時其型別便一定要事先宣告好:String便是StringInt32就是Int32

2. php就是弱型別語言。開發時不用事先宣告型別,等程式執行時,才自己自動判斷是什麼型別。

 

二、變數有兩種型態

value type 及reference type

1. 實質型態 value type (有分兩種)

(1) 結構 (Strut)

  • 數值型別:

ex 整數型別(byte,char,int,...)、

浮點類型(double,float)、

decimal(精度類型)

  • 布林型別
  • 使用者自訂型別:

ex 自己宣告為struct的自訂結構類別

(2)列舉 (enum) :各種自訂的列舉

 

2. 參考型態 reference type

顧名思義儲存的是一個參考位址而非實體的值。

所以會有兩個變數同時對應到同一個實體位址,

而導致互相修改與影響的情形。

內建的參考型別有: 

dynamic

object

string (*string是特殊的參考型別,原型是char[]。C#中可以直接將其視為實值型別)

另可以關鍵字 class、interface、delegate進行宣告

 

三、stack vs heap

1. stack memory():

變數 reference(引用),存取速度較快,時間較短較頻繁採LIFO

 

2. heap memory ():

new出來的物件,運行時動態分配內存,存取速度較慢,較大較不頻繁

 

例如Object obj=new Object();

前面的obj是引用會放在stack, 等號後面的Objectnew出來的會放在heap

 

arrow
arrow
    文章標籤
    名詞
    全站熱搜
    創作者介紹
    創作者 SU SU 的頭像
    SU SU

    SU SU的部落格

    SU SU 發表在 痞客邦 留言(0) 人氣()