在前面已經介紹了類和方法的定義,那麼泛型究竟有什麼作用呢?在前面《c#集合》一節中介紹了集合,集合中的項允許是 object 型的值,因此可以存放任意型別的值
例如,在 arraylist 中以 double 型別存入學生考試成績,但存入值時並沒有做驗證,存入了其他資料型別的值,**如下。
arraylist arraylist=new arraylist();
arraylist.add(100);
arraylist.add("abc");
arraylist.add(85.5);
在輸出集合中的元素時,如果使用 double 型別來遍歷集合中的元素,**如下。
foreach (int d in arraylist)
執行上面的**,由於在集合中存放的並不全是 double 型別的值,因此會出現system.invalidcastexception
異常,即指定的轉換無效。
為了避免類似的情況產生,將集合中元素的型別都指定為 double 型別,不能在集合中輸入其他型別的值,這種設定方式即為泛型的一種應用。
C 泛型演算法簡介
人不舒服寫篇部落格壓壓驚。主要一些常見應用於容器的函式。這些演算法一般位於標頭檔案algorithm和標頭檔案numeric中 find 查詢 accumulate 求和 equal 比較 例如 find const iterator,const iterator,target return con...
泛型 泛型簡介和泛型類
在泛型引入之前,如果我們需要產生多個物件,每個物件的邏輯完全一樣,只是物件內的成員變數的型別不同,那麼我們只能建立多個類檔案,給每個類的成員變數設定不同的資料型別。這麼做會導致類的膨脹,重用性太差。一種方式是對將object作為變數型別,但是需要對獲取的資料進行強制型別轉換,這個過程可能導致型別轉換...
泛型程式設計簡介
1 資料結構課程的特點 專注於資料元素之間的關係 專注於特定結構之上的演算法 資料結構課程並不關注資料元素的具體型別 如何為資料結構的學習選擇合適的語言?唐老師經驗 支援泛型程式設計的語言是最適合資料結構課程的學習。2 泛型程式設計的概念 不考慮具體資料型別的程式設計方式。c 中的函式模板 1 一種...