[轉] c# 數據類型佔用的字節數


[轉] c# 數據類型佔用的字節數

bool -> System.Boolean (布爾型,其值爲 true 或者 false)

byte -> System.Byte (字節型,佔 1 字節,表示 8 位正整數,範圍 0 ~ 255)

sbyte -> System.SByte (帶符號字節型,佔 1 字節,表示 8 位整數,範圍 -128 ~ 127)

char -> System.Char (字符型,佔有兩個字節,表示 1 個 Unicode 字符)

short -> System.Int16 (短整型,佔 2 字節,表示 16 位整數,範圍 -32,768 ~ 32,767)

ushort -> System.UInt16 (無符號短整型,佔 2 字節,表示 16 位正整數,範圍 0 ~ 65,535)

uint -> System.UInt32 (無符號整型,佔 4 字節,表示 32 位正整數,範圍 0 ~ 4,294,967,295)

int -> System.Int32 (整型,佔 4 字節,表示 32 位整數,範圍 -2,147,483,648 到 2,147,483,647)

float -> System.Single (單精度浮點型,佔 4 個字節)

ulong -> System.UInt64 (無符號長整型,佔 8 字節,表示 64 位正整數,範圍 0 ~ 大約 10 的 20 次方)

long -> System.Int64 (長整型,佔 8 字節,表示 64 位整數,範圍大約 -(10 的 19) 次方 到 10 的 19 次方)

double -> System.Double (雙精度浮點型,佔8 個字節) 

【PS】

      那麼,引用類型佔幾個字節呢?對象類型可以理解爲指針變量,指針變量保存的是地址,32位機尋址就是32位,所以是4字節,不過這是在線程棧中佔用4個字節,用來指向託管堆中實際內容的首地址,值是存在堆裏的,具體在堆裏佔幾個字節就不一定了(不過賦值爲NULL的時候,不在堆裏分配空間,倒是可以認爲它就只佔那4個字節……)我試過一個空類(無屬性,無字段,無方法,object爲基類),是佔12個字節(裏面包有頭部的基類指針還有尾部的線程標識神馬的各4個字節,其餘是屬性佔用的空間,這個不確定。。)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章