天天看點

C#<1> C#内置的基礎資料類型

C# 主要包括五大類内置的基礎類型,整型,浮點型,Bool 類型,字元型,引用類型,其中每一種類型下有的又包含各種子類型;

1、整型 C#中的整型又包括四種子類型,所能表示的整數範圍也各不相同;

(1) byte  8位 預設無符号 有無符号表示 sbyte;

(2) short 16位 預設有符号 無符号表示 ushort;

(3) int 32位 預設有符号 無符号表示 uint;

(4) long 64 位 預設有符号 無符号表示 ulong;

2、浮點型 C#中又三種精度的浮點數 日常開發中常用的隻有兩種

(1)float 單精度浮點型 32位;

(2)double 雙精度浮點型 64位 代碼中對浮點數寫死時預設存儲為雙精度浮點數 如 var d = 0.5, d 類型為 double ,float 表示 0.5f;

(3)  decimal 超高精度浮點數 128位 通常用于财務計算;(在一次面試中曾被考過 decimal 的位數);

3、bool 類型 和其他程式設計語言一樣 bool 隻包含兩種值 true or false;

4、字元型 char 16位 用單引号包圍  'c' 支援轉義字元和16進制表示方式 ,但是和C語言不同 char 類型無法隐式轉換成整型;

5、引用類型,C#是面向對象的程式設計語言,主要包含兩種内置的引用類型;

(1) 萬類之根本 object C#中所有内置的包括自定義的類都預設繼承此類,object 中包含許多所有類通用的方法,如tostring() 等,也可以在子類中重寫這些方法;

(2) string 字元串類型 用雙引号包圍的一串字元,“string” 字元串是引用類型也就是說 使用字元串時系統會在托管堆中開辟記憶體,而不是在運作時堆棧中;

PS : 日常開發中遇到的和基礎資料類型相關的優化:

  由于字元串類型的在日常開發中比較常用是以在使用時要非常注意,避免不必要的堆記憶體消耗,在進行大量字元串的拼接或者其他操作時最好使用StringBuider;在優化代碼時經常會看到由于大量的字元串拼接而産生較高的GC,而且大部分情況都是可以通過人為的方式避免;這一點在開發過程中要時刻謹記;