C# 委托的最简单例子(人人都能看懂)

ForExample  One:

 //查找一组数的最大值或者最小值

        delegate bool Function(int max,int num);

        static Function ISMax = delegate(int max, int nums) { return nums > max; };

        static Function ISMin = delegate(int min, int nums) { return nums < min; };

        static int Max(List<int> nums, Function function)
        {
            int max = 0;
            foreach (var num in nums)
            {
                if (function(max,num))
                {
                    max = num;
                }

            }
            return max;
        }


    var list = Max(new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, (max, nums) => nums > max);
            Console.WriteLine("这组数的最大值是:{0}",list);

 

ForExample  Two:

  //委托的例子
        //delegate  bool  Function(int num);
        static Func<int, bool> ISALL = delegate(int num) { return num <= 10; }; //查找出来小于等于10的数字
        static Func<int, bool> ISTEN = delegate(int nums) { return nums % 2 == 0; }; //查找能被2整除的数

        //查找出来小于等于10的数字
        static List<int> Traverse(List<int> nums, Func<int, bool> function)
        {
            var list = new List<int>();
            foreach (var num in nums)
            {
                if (function(num)) //num >= 10;num%2=0
                {
                    list.Add(num);
                }
            }
            return list;
        }

   var list=Traverse(new List<int>() {-1,2,-3,-4,5,6,7,8,9,2,0,4,1,5,2,5,5,5},ISALL);
          Console.WriteLine("小于等于10的数字:");
          foreach (var lists in list)
          {
              Console.WriteLine(lists);
          }


 

最后:如有不对的地方欢迎指正。加油,我们都是最棒的!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值