本節主要解說擴充套件方法,涉及
linq
的詳細知識不多。
.net framework
為程式設計人員提供了非常多的類,非常多的方法,可是,不論
.net framework
在類中為我們提供了多麼多的方法,有時候仍然不能滿足我們的需求,比如:你想讓字串物件具有topascal方法,含義就是將字串轉化為
pascal
格式,並返回,我們知道,
.net framework
提供的string
類中並沒有為我們提供對應的方法,此時,我們應該怎麼做才幹夠達到我們的目的呢?有人說能夠繼承
string
類,這個不行,由於
.net framework
提供的類都是
finnal
類,終於類,不能被繼承,那麼,怎麼樣才幹夠解決問題呢?此時,就出現了擴充套件方法
為現有類提供一些額外的方法,這樣做的優點就是,原有類不須要又一次編譯生成,僅僅須要在程式中引入一些額外的
dll就能夠了
為string
類加入乙個
topascal
方法,實現將自己格式化為
pascal
格式的字串並返回
//擴充套件方法的定義
public static clas***traclass
}//擴充套件方法的使用
string strname="greenhill";
strname.topascal();//返回的結果為pascal格式的字串
解釋string:返回值的型別;
topascal:擴充套件的方法名;
this string:擴充套件全部類;
s:物件名;
注意:在使用
string
類的topascal
方法時,必需要在程式中引入
extraclass
類上面的
這樣的方式是沒有引數的寫法,那麼有引數的怎麼寫呢?有興趣的能夠下去自己查查,相信在讀了這一篇部落格的基礎上,再學習擴充套件方法的其他詳細的定性時,會變得很輕鬆。
擴充套件方法是實現
linq
的基礎,由於
linq
的詳細實現就是通過擴充套件方法實現的,也就是說
linq
就是往.net framework
的原有的一些類上加入了一些擴充套件方法,從形式來說,達到了一種通過使用不同物件的同樣方法,實現一樣的目的。
在實際的應用中,為
.net framework
中的類擴充套件一些方法是不經常使用的,最起碼我如今在實際的專案中沒用過,所以,對於上面擴充套件方法的描寫敘述的需求,我們要站在還有乙個高度看,也就是說,擴充套件方法是微軟為了引入
linq
而作的工作,擴充套件方法的真正目的是為了
linq
。
LinQ 擴充套件方法
本節主要講解擴充套件方法,涉及 linq 的具體知識不多。net framework 為程式設計人員提供了很多的類,很多的方法,但是,不論 net framework 在類中為我們提供了多麼多的方法,有時候仍然不能滿足我們的需求,例如 你想讓字串物件具有topascal方法,含義就是將字串轉化為 p...
Linq擴充套件方法
如果要擴充套件linq查詢方法集,只需要為ienumerable擴充套件方法。第一種 擴充套件聚合方法,類似已有python基礎教程的max min,可以給具體型別擴充套件,也可以給泛型擴充套件。using system using system.collections using system.c...
擴充套件方法和LINQ
以前一直看到方法列表中有種方法的圖示是 普通方法的紅立方體右邊還有個箭頭 就像這樣 原來這種方法就是擴充套件方法 擴充套件方法不能訪問它擴充套件的型別的私有成員。呼叫擴充套件方法只是呼叫靜態方法的一種新語法 public static classa s class program 這樣就擴充套件了s...