c 高階之路 泛型(筆記2)

2021-08-19 06:54:21 字數 702 閱讀 2376

方法傳參:

核心:推遲一切可也推遲的宣告;

一、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 提供五種泛型 前四種是型別,而方法是成員。建立和使用非泛型類有兩個步驟 而使用泛型這需要多乙個步驟,就是使用泛型構建實際的型別,構建...