詳解兩類C#基本數(shù)據(jù)類型
C#基本數(shù)據(jù)類型中的值類型是直接存儲(chǔ)它的數(shù)據(jù)內(nèi)容,而引用類型存儲(chǔ)的是對(duì)象的引用,這兩種類型對(duì)變量的賦值有著不同的含義。
值類型包括:簡(jiǎn)單類型、結(jié)構(gòu)類型、枚舉類型;引用類型包括:Object 類型、類類型、接口、代表元、字符串類型、數(shù)組。
C#基本數(shù)據(jù)類型-值類型示例
int m = 0;int n = m;m = 1; //此時(shí) n 仍然是 0,因?yàn)?m 和 n 的數(shù)據(jù)存儲(chǔ)在不同的區(qū)域引用類型示例
class CFoo{ public int n;}
void Main(){ CFoo f1 = new CFoo(); f1.n = 0; CFoo f2 = f1; f1.n = 1; //此時(shí) f2.n 變成了 1,因?yàn)?f2 與 f1 的內(nèi)容是同一地址}值類型
值類型有:byte(1)、sbyte(1)、short(2)、ushort(2)、int(4)、uint(4)、long(8)、ulong(8)、float(4)、double(8)、decimal(8)、char、bool、枚舉、結(jié)構(gòu)。
上述中括號(hào)中的數(shù)字表示字節(jié)數(shù),byte、ushort、uint、ulong 為無(wú)符號(hào)類型(沒(méi)有負(fù)數(shù)),順便說(shuō)一下 sbyte 是有符號(hào)的字節(jié)。
這些類型是.NET Framework 類型的別名的別名,具體對(duì)應(yīng)關(guān)系,請(qǐng)參見(jiàn)由 String 與 string 引出的。
C#基本數(shù)據(jù)類型-引用類型
引用類型有:對(duì)象類型、類類型、接口、代表元、字符串類型、數(shù)組。
雖然字符串類型(string)是引用類型,但微軟為了我們?cè)O(shè)計(jì)方便,重載了其中的一些操作符,使得它應(yīng)用起來(lái)就像是值類型一樣。
本文來(lái)自心之鎮(zhèn)的博客園文章《C#基本數(shù)據(jù)類型》
【編輯推薦】