补点C#基础_014_匿名方法、Lambda表达式(一个参数,多个参数)

本文深入探讨了C#中的匿名方法与Lambda表达式的概念及其应用。从匿名方法的定义出发,介绍了其作为无名方法在委托中的使用,并进一步讲解了自C#3.0起引入的Lambda表达式,展示其简洁语法及如何替代匿名方法,同时提供了实例代码进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、匿名方法
匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法赋值。
1.2
class Program
{
static void Main(string[] args)
{
Func<int, int, int> plus = delegate (int t0, int t1)
{
return t0+t1;
};
//匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法赋值。

}
}

2.Lambda表达式
2.1,C#3.0开始,可以使用lambda来代替匿名方法,只要有委托参数类型的地方都可以使用lambda表达式。
lambda表达式用来代替匿名方法,所以lambda表达式也是定义了一个方法。lambda表达式的参数是不需要声明类型的。
Lambda运算符=>左边列出了需要的参数,如果是一个参数可以直接写成a=>
2.2
class Program
{
static void Main(string[] args)
{
//lambda表达式用来代替匿名方法,所以lambda表达式也是定义了一个方法。
Func<int, int, int> plus = (arg1, arg2) =>//lambda表达式的参数是不需要声明类型的。
{
return arg1 + arg2;
};

Console.WriteLine(plus(80,20));
Console.ReadKey();
}
}
2.3结果:
在这里插入图片描述2.4Lambda表达式表示的参数只有一个的时候,可以不加上括号,当函数体的语句只有一句的时候,我们可以不加上大括号,也可以不加上return语句。
class Program
{
static void Main(string[] args)
{
Func<int, int> test1 = a => a+1;
Func<int, int> test2 = (a) =>
{
return a + 1;
};

Console.WriteLine(test1(23));
Console.WriteLine(test2(23));
Console.ReadKey();
}
}

2.5运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

unity学习社区

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

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

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

打赏作者

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

抵扣说明:

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

余额充值