多型的虛方法 概念:讓一個物件能夠表現出多種的狀態(類型) 實現多型的三種手段: 虛方法 virtual (virtual, override) 抽象類 abstract (abstract, override) 接口 抽象類 當父類中的方法不知道如何去實現的時候,可以考慮將父類寫成抽象類,將方法寫成抽象方法。 既然不能實現,就不要實現,就用抽象類,讓子類去實現。 ...
[C# 筆記] 多型(Polymorphism)-虛方法 Virtual
多態的虛方法 概念:讓一個物件能夠表現出多種的狀態(類型) 實現多態的三種手段: 虛方法 抽象類 接口 虛方法步驟 使用多態-虛方法,父類方法加virtual,子類方法加override。 將父類的方法標記為虛方法,使用關鍵字virtual,這個函式可以被子類重新寫一遍(重寫)。 子類的方法使用關鍵字override。 virtual、override 實...
[C# 筆記] StreamReader & StreamWrite
StreamReader、StreamWrite 和 FileStream 的區別 FileStream操作位元組byte的 可以處理所有的檔案、可以處理大檔案。 StreamReader&StreamWrite操作字元的 只能處理文本的。 所以FileStream必須要掌握的。 使用using(){...}兩個作用: 關閉Stream 釋放Stream所...
[C# 筆記][FileStream] 使用 FileStream 實現多媒體文件的複製
使用FileStream 實現多媒體文件的複製 FileStream操作位元組byte的 可以處理所有的檔案、可以處理大檔案。 StreamReader&StreamWrite操作字元的 只能處理文本的。 所以FileStream必須要掌握的。 思路 先將要複製的多媒體文件讀取出來,然後寫入到你指定的位置 設定來源路徑、目標路徑和調用方法 string source...
[C# 筆記][FileStream] 使用 FileStream 來讀寫文件
FileStream 和 File 區別 File 是一下子都讀過來 FileStream 是一點一點讀過來,對內存來說比較沒有壓力 FileStream、StreamWriter、StreamReader區別 FileStream FileStream 操作位元組(byte)的 代表可以操作任何文件 StreamReader 和 StreamWrite StreamRead...
[C# 筆記] Dictionary 字典集合 練習
練習1:將陣列中的奇數偶數各放在一個集合,再合併輸出顯示奇數左邊,偶數在右邊 將一個陣列中的奇數放到一個集合中,再將偶數放到另一集合中 最終將兩個集合合併為一個集合,並且奇數顯示在左邊,偶數顯示在右邊 13572468 int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8 }; List<int> oddList = new List<int>...
[C# 筆記] Dictionary 字典集合
字典集合 dic.Add(1, "AAA"); 用 Add 加入相同的key會拋異常 dic[1] = "我是新來的"; 用 index 索引的方式,不會拋異常,只會覆蓋掉 KeyValuePair<key,value> 用 KeyValuePair 一對數據的方式來遍歷 KeyValuePair<key,value> 這裡面key, v...
[C# 筆記] Boxing & Unboxing 裝箱&拆箱
ArrayList和Hashtable 很少在用,為什麼? 除了取數據不方便外,花費時間較多、效率低外,因為涉及到裝箱、拆箱的問題。 裝箱&拆箱 裝箱:將值類型轉成引用類型 拆箱:將引用類型轉成值類型 int n = 10; object o = n; //裝箱 int nn = (int)o; //拆箱 ArrayList 值類型i放入引用類型ArrayLi...
[C# 筆記] List 泛型集合
List 泛型集合 優點:長度任意 //建立整數類型的泛型集合 List<int> list = new List<int>(); list.Add(1); //加入一個元素 list.AddRange(new int[] { 1, 2, 3, 4, 5 }); //加入一個整數集合 //遍歷每個元素 for (int i = 0; i < list.Co...
[C# 筆記] File 讀寫文件
File 檔案讀寫 File最大的缺點:只能讀小文件 讀寫文本、影音、圖片… File.ReadAllBytes() File.WriteAllBytes() 只能讀文本 File.ReadAllLines() File.ReadAllText() ReadAllBytes() -> 字串陣列 -> 字串 Encoding.Default.Ge...