【C#】C# in deep 筆記
阿新 • • 發佈:2018-07-12
tar 靜態類型 命名 htable 空類 blank 類型 img net
1. delegate and events
http://csharpindepth.com/Articles/Chapter2/Events.aspx
2. 顯式類型 和 隱式類型
3. 靜態類型, 動態類型
靜態類型, 編譯時候已經定義好的類型.
動態類型: 編譯時候通過動態去檢查的類型.
4. 強弱類型
數組是強類型的. 所以不可能將string[]中的元素設置成filestream.
system.collections命名空間中的為弱類型. 比如 ArrayList/Hashtable
5. 值類型和引用類型
用現實舉例來說, 如果你在讀一份報紙, 你想讓你的朋友也閱讀一份, 所以你去打印機那面打印了一份相同的報紙給你的朋友, 這就是值類型, 因為無論你在你的報紙上做什麽樣的更改註解, 都不會影響到你朋友的那份報紙. 但是如果你是在閱讀一個網頁, 你將網頁的URL分享給了你的朋友, 那麽你兩用的就是一個引用類型.
.net中大多數類型都是引用類型.
6. 裝箱 拆箱
看個栗子:
int i = 5;
object o = i;
int j = (int)o;
解釋一下這個過程. 首先i是值類型的一個變量. 將i賦值成5, 然後將i賦值給o的操作, 實際上是在內存中復制一個i的副本, 將i裝箱成一個引用類型, 賦值給o. 然後將o拆箱轉換成int值類型賦值給j.
7 . 歸納不同階段的C#的特性.
C#1
靜態的
C#2
泛型以及泛型集合, 受限的委托, 可空類型(int? x = null)
C#3
匿名類型, 隱式類型, 擴展方法, lambda表達式
C#4
受限的泛型斜變, 動態類型(dynimic)
【C#】C# in deep 筆記