委托 匿名函数 Lamda表达式

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] nums = { 1, 2, 3, 4, 5, 6 };
            List<int> L1= FilterNumber.Filter(nums, Application.IsOdd);//委托
            List<int> L2 = FilterNumber.Filter(nums, delegate (int i) { return (i % 2 == 0);});//匿名方法
            List<int> L3 = FilterNumber.Filter(nums, i => (i % 2 == 0));//Lamda表达式
            foreach (var i in L2)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
        }
        
    }

    class FilterNumber
    {
        public delegate bool InFilter(int i);
        public static List<int> Filter(int[] ints,InFilter filter)
        {
            List<int> aList = new List<int>();
            foreach (var i in ints)
            {
                if (filter(i))
                {
                    aList.Add(i);
                }
            }
            return aList;
        }
    }
    class Application
    {
        public static bool IsOdd(int i)
        {
            return (i %2 == 1);
        }
        
    }
}
 

猜你喜欢

转载自blog.csdn.net/weixin_42479664/article/details/81131642