c# 數據類型佔用的字節數


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

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

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

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

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,6482,147,483,647)

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

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

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

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

【PS】這裏寫圖片描述

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

“`
【相關閱讀】

引用類型變量佔幾個字節 http://bbs.tarena.com.cn/archiver/tid-198197.html

指針變量佔幾個字節 http://www.cnblogs.com/liwen/archive/2011/07/20/2111780.html

棧和託管堆/值類型和引用類型/裝箱和拆箱 http://www.cnblogs.com/xy8.cn/articles/1227228.html

分類: Misc

發佈了19 篇原創文章 · 獲贊 9 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章