LINQ學習筆記(4) 擴充方法

來源:互聯網
上載者:User

  今天要總結的內容是C# 3.0的最新特性-擴充方法,它在LINQ查詢中使用得也非常多,所以很有必要總結一下,以便於我們能更好地掌握LINQ。主要從以下幾點來瞭解擴充方法。

1,什麼叫擴充方法?

  故名思義,擴充方法就是在類本身所聲明的方法之外增加方法。當調用的時候就像作為類的執行個體成員來調用一樣,這就是擴充方法。

2,為什麼要聲明擴充方法?擴充方法有什麼作用?

  在不修改類型定義的情況下,讓該類型獲得功能上的擴充。

3,如何聲明擴充方法?

  例如:

 1 class MyData
2 {
3 private double D1, D2, D3;//聲明變數
4
5 public MyData(double d1, double d2, double d3)//建構函式。初始化類的對象。
6 {
7 D1 = d1;//初始設定變數d1。
8 D2 = d2;
9 D3 = d3;
10 }
11
12 public double Sum()//聲明方法
13 {
14 return D1 + D2 + D3;
15 }
16 }
17
18 static class ExtendMyData
19 {
20 public static double Average(this MyData md)//關鍵字this,方法聲明為static。
21 {
22 return md.Sum() / 3;
23 }
24 }
25
26 class Program
27 {
28 static void Main(string[] args)
29 {
30 MyData md = new MyData(3,4,5);//建立類的對象。
31
32 Console.WriteLine("Sum:{0}",md.Sum());//調用執行個體方法
33 Console.WriteLine("Average:{0}",md.Average());//調用擴充方法
34 Console.ReadKey();
35 }
36 }
37 //程式輸出結果為:Sum:12
38 // Average:4

4,聲明擴充方法注意事項?

  1> 擴充方法和擴充方法所在的類都必須聲明為static。

  2> 擴充方法必須包含關鍵字作為它的第一個參數類型,並在後面跟著它所擴充的類的名稱。

  以上就是今天總結的擴充方法的部分,今天晚上時間還比較充足,接下來要總結的是查詢文法和方法文法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.