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

委托的使用1

时间:2015-03-18 20:03:03      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

namespace DelegateTest
{
    delegate bool FilterDelegate(int i); //声明委托,参数类型,返回类型,委托名称。
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = { 1, 2, 3, 5, 6, 6, 7, 8, 9 };
            List<int> newList = MyFilter(array,FilterOdd);  //传入委托函数
            foreach (int item in newList)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

        }
        static List<int> MyFilter(int[] array, FilterDelegate filter) //把委托函数当做参数,委托类型
        {
            List<int> list = new List<int>();
            for (int i = 0; i < array.Length; i++)
            {
                if (filter(i))  //调用委托函数
                {
                    list.Add(i);
                }
            }
            return list;
        }

        static bool FilterOdd(int i)  //委托必须是static方法吗?
        {
            return i % 2 == 1;
        }
    }
}

委托的使用1

标签:

原文地址:http://www.cnblogs.com/ronye/p/4348085.html

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