c# 擴充方法 入門小例

來源:互聯網
上載者:User

C#擴充方法 入門小例

擴充方法的定義:

l 必須是靜態類,靜態方法

l 第一個參數帶有關鍵字”this”,表示把這個方法賦給哪個類型

代碼說明:這裡的例子是寫了一個靜態類,myExtension,一個擴充方法Add,表示所有的INT類型的數字都將具有調用這個Add方法的能力,條件是引入MyExtension的命名空間。

下面讓我們看一下用法:

代碼說明:這段代碼做的事是聲明了一個int類型的數字並賦值為7,然後調用Add方法的時候你將看到智能感知如下:

可以看到擴充方法用了向下方向的箭頭標記。然後調用就可以了,給它任意個int,由於我用了params關鍵字,將自動解析為int數組,之後用rlt變數進行接收,顯示出來就會看到結果:



樣本2:


寫了一個擴充string的方法,可以把英文標準化,例如 hEllo WORld 傳遞進去 將會輸出,Hello World


using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace wpfLab1{    public static class StrExtensenClass    {        public static string GetNormalFormat(this string s)        {            s = RemoveExtraSpace(s);            string[] words = s.Split(' ');            string ret = "";            foreach (var word in words)            {                ret += StrFstChrUpr(word) + " ";            }            return ret;        }        public static string RemoveExtraSpace(this string s)        {            if (s == null || s.Length <= 1)            {                return s;            }            bool lastChrIsSpace = false;            string ret = "";            foreach (var chr in s)            {                if (chr == ' ')                {                    if (lastChrIsSpace)                    {                        continue;                    }                    else                    {                        lastChrIsSpace = true;                        ret += chr;                    }                }                else                {                    ret += chr;                    lastChrIsSpace = false;                }            }            return ret;        }        private static string StrFstChrUpr(string s)        {            if (s == null || s.Length < 1)            {                return s;            }                       string lowerStr = s.ToLower().Remove(0, 1);            string upperStr = Char.ToUpper(s[0]).ToString();            return (upperStr + lowerStr);        }    }}

使用:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using wpfLab1;namespace wpfLab1{    /// <summary>    /// MainWindow.xaml 的互動邏輯    /// </summary>    public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        private void btnHello_Click(object sender, RoutedEventArgs e)        {            string s = "hEllo   wOrLd,  hi,   world ,   aa dd  dw   WWdd a ";            lblHello.Content = s.GetNormalFormat();                    }    }}

以上就是c# 擴充方法 入門小例的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.