c#進階之路-泛型(筆記2)

方法傳參:
核心:推遲一切可也推遲的聲明;
一、Object
1、利用面向對象的封裝、繼承、多態;Object是所有的父類;因此可以把任何變量都當做Object傳入;
2、子類可以運用父類的所有方法和屬性;
3、但是會有一次裝箱拆箱的操作;會造成性能損失;
二、泛型
1、申明:public static void show<T>(t 參數){};T是佔位符
2、調用:show<申明傳入的類型>(值或參數);類型參數是可以省略的;
泛型實際上是語法糖,由編譯器提供的功能,在編譯的過程中,會生成的相應的方法;
3、泛型也可以用在返回值上,關鍵之Default可也返回一個默認值(根據T返回默認值);
4、public class 類名<a,v,c>{}泛型類
5、public interface 類名<a>{}泛型接口

6、public delegate 類名<b>();泛型委託
.
.
三、泛型約束

1、public staic T 方法名<T>(T t)where T:class{} 泛型約束申明後,在使用必須滿足約束,
where T:Class ,約束T爲引用類型;where T:struct;值類型

where t:Class,new()  這樣約束也是可以的;new()表示無參數構造;
where t:類;現在的約束條件爲這個T必須是這個類或者這個的之類;




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章