擴展方法的簡單介紹

在說擴展方法之前先說一個例子:

把集合中字符串小於“7”,查詢出來,然後打印

 static void Main(string[] args)
        {
            //將字符串小於7的篩選出來
            List<string> list = new List<string>() {
            "23","7","66","8"
            };

            var temp=
            list.Where(a=>a.CompareTo("7")<0);

            foreach (var item in temp)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

where方法內部:遍歷list集合,然後把每個元素傳到委託裏面執行,如果委託返回true

那麼把元素選擇出來,最後把滿足條件的元素一起返回。


我們需要自己寫一個MyWhere方法,模仿它的where,來學習擴展方法。

//this指的是擴展哪個方法,緊跟着是傳進來的委託
        public static List<string> Mywhere(this List<string> list,Func<string,bool> funcWhere) 
        {
            List<string> result = new List<string>();
            //遍歷集合,集合裏面的值都執行一遍委託方法
            foreach (var item in list)
            {
                if (funcWhere(item)) 
                {
                    result.Add(item);
                }
            }
            //最後返回選擇出來的集合
            return result;
        }

從這裏我們可以得到擴展方法的一般寫法:

1.靜態類

2.靜態方法

3.this關鍵字


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章