日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

[译文]c#扩展方法(Extension Method In C#)

發布時間:2025/5/22 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译文]c#扩展方法(Extension Method In C#) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:

https://www.codeproject.com/Tips/709310/Extension-Method-In-Csharp

介紹

擴展方法是C# 3.0引入的新特性。擴展方法使你能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。 擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。

擴展方法的特性

以下包含了擴展方法的基本特性

  • 擴展方法是靜態方法。
  • 擴展方法的類是靜態類。
  • .NET中,此方法的參數中必須要有被擴展類作為第一個參數,此參數前面用this關鍵字修飾。此方法在客戶端作為一個指定類型的實例調用。
  • 擴展方法在VS智能提示中顯示。當在類型實例后鍵入“.”會提示擴展方法。
  • 擴展方法必須在同一命名空間使用,你需要使用using聲明導入該類的命名空間。
  • 針對包含擴展方法的擴展類,你可以定義任何名稱。類必須是靜態的。
  • 如果你想針對一個類型添加新的方法,你不需要有該類型的源碼,就可以使用和執行該類型的擴展方法。
  • 如果擴展方法與該類型中定義的方法具有相同的簽名,則擴展方法永遠不會被調用。
  • 示例代碼

    我們針對string類型創建一個擴展方法。該擴展方法必須指定String作為一個參數,在string的實例后鍵入“.”直接調用該擴展方法。

    ?

    在上面的?WordCount()方法里,我們傳遞了一個string類型參數,通過string類型的變量調用,換言之通過string實例調用。

    現在我們創建了一個靜態類和兩個靜態方法。一個用來計算string中詞的個數。另一個方法計算string中去除空格的所有字符數。

    1 using System; 2 namespace ExtensionMethodsExample 3 { 4 public static class Extension 5 { 6 public static int WordCount(this string str) 7 { 8 string[] userString = str.Split(new char[] { ' ', '.', '?' }, 9 StringSplitOptions.RemoveEmptyEntries); 10 int wordCount = userString.Length; 11 return wordCount; 12 } 13 public static int TotalCharWithoutSpace(this string str) 14 { 15 int totalCharWithoutSpace = 0; 16 string[] userString = str.Split(' '); 17 foreach (string stringValue in userString) 18 { 19 totalCharWithoutSpace += stringValue.Length; 20 } 21 return totalCharWithoutSpace; 22 } 23 } 24 } View Code

    現在我們創建一個可執行的程序,輸入一個string,使用擴展方法來計算所有詞數以及string中的所有字符數,結果顯示到控制臺。

    1 using System; 2 namespace ExtensionMethodsExample 3 { 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 string userSentance = string.Empty; 9 int totalWords = 0; 10 int totalCharWithoutSpace = 0; 11 Console.WriteLine("Enter the your sentance"); 12 userSentance = Console.ReadLine(); 13 //calling Extension Method WordCount 14 totalWords = userSentance.WordCount(); 15 Console.WriteLine("Total number of words is :"+ totalWords); 16 //calling Extension Method to count character 17 totalCharWithoutSpace = userSentance.TotalCharWithoutSpace(); 18 Console.WriteLine("Total number of character is :"+totalCharWithoutSpace); 19 Console.ReadKey(); 20 } 21 } 22 } View Code

    ?

    轉載于:https://www.cnblogs.com/wq352/p/6431357.html

    總結

    以上是生活随笔為你收集整理的[译文]c#扩展方法(Extension Method In C#)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。