委托

委托的意义:将一个方法作为参数传给另一个方法
委托的概念;声明一个委托,委托所指向的函数必须跟委托具有相同的签名(签名为返回值及形参).
匿名函数:没有名字的函数.方法体直接写在表达式中(可见于lamda表达式),多用于方法使用次数不多的方法.
普通委托语法:

  1. 申明一个委托对象
  2. 创建一个与委托对应的方法
  3. 在需要使用委托的方法形参中加上委托,并在方法体内添加委托
  4. 调用方法,将值与委托相对应的方法传入
    //该步奏可以使用匿名函数取消2方法
    //也可以直接使用lamda表达式写入

代码:

   class Program
    {
        static void Main(string[] args)
        {
            int[] str={1,2,3,45,23,423,4};
            //dec<> d = test;
            int o = testStr<int>(str, (int t1, int t2) => { return t1 - t2; });
          Console.WriteLine(o);
          Console.ReadKey();

        }
        public static int test<T>(int  t1, int  t2)
        {
            return t1 - t2;
        }
        public static T testStr<T>(T[] str,dec<T> d)
        {
            T  max=str[0];
            for (int i = 0; i < str.Length; i++)
            {
                if (d(max,str[i]) < 0)
                {
                    max=str[i];
                 }                
            }
            return max;
        }
    }

lamda表达式写法:

  1. 申明一个委托对象.例:public delegate void dec(string name);
  2. 创建委托对象,且直接写方法体及返回类型

=>意义为goes to
dec dsx=(string name)=>{方法体;};
dsx(“adsf”) ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值