匿名函数和lambda表达式

一、匿名函数

1、定义

匿名函数顾名思义,就是没有名字的函数(方法)

2、特点

  • 没有方法名
  • 返回值类型由return语句自动推断
  • 只能赋值给委托,通过委托调用该方法

3、使用案例演示

using System;

namespace ConsoleApp1
{
    public delegate int MyDelegate(int a);
    class Program
    {
        static void Main(string[] args)
        {
            MyClass myClass = new MyClass();
            //正常委托
            MyDelegate m1 = new MyDelegate(myClass.AddNum);
            Console.WriteLine(m1(5));//输出5+5=10
            //匿名函数
            MyDelegate m2 = new MyDelegate(delegate (int a)
            {
                return a + a;
            });
            Console.WriteLine(m2(6));//输出6+6=12
        }
    }
    class MyClass
    {       
        public int AddNum(int a)
        {
            return a + a;
        }
    }    
}

二、lambda表达式和系统委托

1、定义

lambda表达式是一种更为简洁的匿名函数,用=>表示

2、系统委托类型

  • Func :有返回值
  • Action:无返回值
  • Predicate :返回布尔值,通常用于筛选操作,所以几乎不用

3、使用案例演示

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Func<参数类型..., 返回值类型>
            Func<int, int> f1 = new Func<int, int>((int a)=>
            {
                return a + a;
            });
            Console.WriteLine(f1(7));//输出7+7=14
            //Action<参数类型>
            Action<int> a1 = new Action<int>((int a) =>
            {
                Console.WriteLine(a + a);
            });
            a1(8);//输出8+8=16
        }
    }  
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落缨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值