程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#泛型秘訣(1)(1)

C#泛型秘訣(1)(1)

編輯:關於C語言

4.0 介紹

泛型,一個期待已久的功能,隨著C# 2.0版本編譯器的到來最終出現。泛型是一個非常有用的功能,它使得您的代碼變得精簡而富有效率。這些將在秘訣4.1進行詳細講述。泛型的到來使得您可以編寫更為強大的應用程序,但這需要正確地使用它。如果您考慮把ArrayList,Queue,Stack和Hashtable對象轉變為使用相應的泛型版本,可以閱讀秘訣4.4,4.5和4.10。當您閱讀過後,會發現這種轉變不一定簡單,甚至有可能會不再打算進行轉變。

本章的另外一些秘訣涉及到.Net Framework 2.0所包含的其他泛型類,如秘訣4.6。其他秘訣講述一些泛型類的操作,如秘訣4.2,4.8和4.13。

4.1決定在何時何地使用泛型

問題

您希望在一個新工程內使用泛型,或者想把已有項目中的非泛型類轉換為等價的泛型版本。但您並非了解為何要這樣做,也不知道哪個非泛型類應該被轉換為泛型類。

解決方案

決定在何時何地使用泛型,您需要考慮以下幾件事件:

l 您所使用的類型是否包含或操作未指定的數據類型(如集合類型)?如果是這樣,如果是這樣,創建泛型類型將能提供更多的好處。如果您的類型只操作單一的指定類型,那麼就沒有必要去創建一個泛型類。

l 如果您的類型將操作值類型,那麼就會產生裝箱和拆箱操作,就應該考慮使用泛型來防止裝箱和拆箱操作。

l 泛型的強類型檢查有助於快速查找錯誤(也就是編譯期而非運行期),從而縮短bug修復周期。

l 在編寫多個類操作多個數據類型時是否遭遇到“代碼膨脹”問題(如一個ArrayList只存儲StreamReaders而另一個存儲StreamWriters)?其實編寫一次代碼並讓它工作於多個數據類型非常簡單。

l 泛型使得代碼更為清晰。通過消除代碼膨脹並進行強制檢查,您的代碼將變得更易於閱讀和理解。

討論

很多時候,使用泛型類型將使您受益。泛型將使得代碼重用更有效率,具有更快的執行速度,進行強制類型檢查,獲得更易讀的代碼。

閱讀參考

MSDN文檔中的“Generics OvervIEw”和“Benefits of Generics”主題。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved