码迷,mamicode.com
首页 > 其他好文 > 详细

扩展方法

时间:2015-11-20 12:43:54      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 委托
{
    /// <summary>
    /// 扩展方法三要素 静态类、静态方法、this关键字
    /// </summary>
    public static class ListExt
    {
        public static List<int> MyFindAll(this List<int> listInput, Predicate<int> compareFunction)
        {
            List<int> listResult = new List<int>();
            foreach (int i in listInput)
            {
                  if(compareFunction(i))
                  {
                      listResult.Add(i);
                  }
            }
            return listResult;
        }
        public static List<T> MyFindAll<T>(this List<T> listInput, Predicate<T> compareFunction)
        {
            List<T> listResult = new List<T>();
            foreach (T t in listInput)
            {
                if (compareFunction(t))
                {
                    listResult.Add(t);
                }
            }
            return listResult;
        }
    }
}

   private static void Test2()
        {
            List<int> list = new List<int>{
                1,2,3,4
            };
            //List<int> listRestult = list.FindAll(IsOk);
            //List<int> listRestult = list.FindAll(a=>a>3);
            //List<int> listRestult = list.MyFindAll(IsOk);
            //List<int> listRestult = list.MyFindAll(a => a > 3);
            //foreach (int i in listRestult)
            //{
            //    Console.WriteLine(i.ToString());
            //}

            //List<int> listRestult = list.MyFindAll<int>(IsOk);
            List<int> listRestult = list.MyFindAll<int>(a => a > 3);
            foreach (int i in listRestult)
            {
                Console.WriteLine(i.ToString());
            }
        }

 

 

 

扩展方法

标签:

原文地址:http://www.cnblogs.com/caohuimingfa/p/4980073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!