C#扩展方法

扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。

扩展方法三个要素
1.静态类
2.静态方法
3.this关键字
 
 
 static void Main(string[] args)
        {
            List<string> strlist = new List<string>() {"12","25","24","10","50","60","1"};
            var temp = strlist.MyWhere(delegate(string a) { return a.CompareTo("25") < 0; });
            foreach (var item in temp)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
 
 
 
  public static class MyListExt  //静态类
    {
        public static List<string> MyWhere(this List<string> list, Func<string, bool> funcWhere)  //静态方法  //this关键字
        {
            List<string> result = new List<string>();
            foreach (var item in list)
            {
                if (funcWhere(item))
                {
                    result.Add(item);
                }
            }
            return result;
        }
    }
posted @ 2017-06-20 14:20  码大坑  阅读(222)  评论(0编辑  收藏  举报