读书笔记_CLR.via.c#第五章_基元类型_引用类型_值类型
?
基元類型
1.不管在什么操作系統上c#的int始終代表32位整數。
2.c#中long代表64位。
?
類型轉換
安全轉換時,才允許隱式轉型。
不安全轉換時,為顯式轉型。
?
溢出檢測方法
控制溢出的一個辦法時使用/checked+編譯器開關。(檢測運算上下溢。)
要檢測溢出的地方加;
Checked{
…
}
防止溢出建議
不要使用無符號數值類型(如:UInt32和UInt64)。
?
引用類型和值類型
?
1.任何稱為"類"的類型都是——引用類型。
2.所有值類型都稱為——結構或枚舉。
3.一個值類型可以實現一個或多個接口。
4.C#中struct聲明的類型是值類型。
5.用class聲明的類型為引用類型。
?
Class聲明的為引用類型:在堆上分配,是對指針的修改。
Static聲明的為值類型:在棧上分配,是對值的修改。
引用類型:對指針指向的堆中數據進行修改。
值類型:對棧中開辟內存的數據直接修改。
?
裝箱:為了將一個值類型轉換成一個引用類型。
拆箱:就是獲取一個指針的過程
?
?
?
引用類型
Class聲明的為引用類型:在堆上分配,是對指針的修改。
引用類型:對指針指向的堆中數據進行修改。
?
值類型
Static聲明的為值類型:在棧上分配,是對值的修改。
值類型:對棧中開辟內存的數據直接修改。
?
值類型對象有兩種表示形式:未裝箱形式和已裝箱形式。
?
值類型的裝箱與拆箱
?
裝箱
用意:為了將一個值類型轉換成一個引用類型
拆箱
定義:
?
?
?
對象相等性和同一性
?
?
?
對象哈希碼
?
?
Dynamic
?
?
?
總結
以上是生活随笔為你收集整理的读书笔记_CLR.via.c#第五章_基元类型_引用类型_值类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读书笔记_CLR.via.c#第十六章_
- 下一篇: 读书笔记_CLR.via.c#第十四章_