方法傳參:
核心:推遲一切可也推遲的宣告;
一、object
1、利用物件導向的封裝、繼承、多型;object是所有的父類;因此可以把任何變數都當做object傳入;
2、子類可以運用父類的所有方法和屬性;
3、但是會有一次裝箱拆箱的操作;會造成效能損失;
二、泛型
1、申明:public static void show(t 引數){};t是佔位符
2、呼叫:show《申明傳入的型別》(值或引數);型別引數是可以省略的;
泛型實際上是語法糖,由編譯器提供的功能,在編譯的過程中,會生成的相應的方法;
3、泛型也可以用在返回值上,關鍵之default可也返回乙個預設值(根據t返回預設值);
4、public class 類名{}泛型類
5、public inte***ce 類名{}泛型介面
6、public delegate 類名();泛型委託..
三、泛型約束
1、public staic t 方法名(t t)where t:class{} 泛型約束申明後,在使用必須滿足約束,
where t:class ,約束t為引用型別;where t:struct;值型別
where t:class,new() 這樣約束也是可以的;new()表示無引數構造;
where t:類;現在的約束條件為這個t必須是這個類或者這個的之類;
C 高階 泛型
在沒有泛型的時候,我們想要讓方法接受多種型別的引數,在.net framwork 1.0時代我們會這樣定義乙個方法 public void myaction object myparameter else if myparameter.gettype typeof long else 呼叫 int ...
c 高階學習 泛型
我們為什麼要用泛型?簡而言之是為了提高 的泛用性,所以才存在的。假設我需要處理十個類,並且對十個類處理的方法都一樣,如果沒有泛型的話那麼我們需要定義十個方法來處理不同的類,你或許可以將方法中公用的部分提取出來,但是宣告十個方法是不可避免的,但是有了泛型就不一樣了,我們可以將十個方法變為乙個方法,大大...
C 筆記(泛型)
學習了型別,可以知道型別的實質是物件的模板,而泛型實質就是型別的模板 泛型允許宣告型別引數化的 即可以使用型別佔位符來定義泛型,然後在建立類的例項是指明真實的型別。c 提供五種泛型 前四種是型別,而方法是成員。建立和使用非泛型類有兩個步驟 而使用泛型這需要多乙個步驟,就是使用泛型構建實際的型別,構建...