C#有幾種資料型別?他們的作用?

weixin_34146805發表於2017-03-27

廣義上說,C#(及所有.NET語言)只分為值型別和引用型別,值型別就是定義好以後,預設為各型別的初始值(如int為0)對它的每次引用賦值都會新建一個副本。而引用型別定義好以後,預設為null,要初始化後才能用,並且對它的引用賦值不會新建副本。
比較下面:

int a=0; int b=a; b=5; 
這種情況,a不會變成5,因為int是值型別。
 Hashtable a, b;a[0]=0; b=a; b[0]=4;
這種情況下a[0]會變成4,因為Hashtable是引用型別。

一、值型別(基本值型別,結構值型別,列舉值型別)
包括簡單值型別和複合型型別。
簡單值型別可以再細分為整數型別、字元型別、實數型別和布林型別;
而複合型別則是簡單型別的複合,包括結構(struct)型別和列舉(enum)型別。
二、引用型別(類型別,陣列型別,介面型別,委託型別)
包括類(class)、介面(interface)、委託(delegate)和陣列(array)。
類(class)是一組具有相同資料結構和相同操作的物件集合。
介面(interface)應用程式之間要相互呼叫,就必須事先達成一個協議,被呼叫的一方在協議中對自己所能提供的服務進行描述。在C#中,這個協議就是介面。
委託(delegate)用於封裝某個方法的呼叫過程。
陣列(array)主要用於同一資料型別的資料進行批量處理。

相關文章