关于C#中的回调方法的定义以及使用
微软对于C#开发人员可以说是尽心尽力,这和微软的理念有关,微软认为,软件开发人员应该注重业务逻辑的分析,将开发的重心放在如何使软件更加人性化,业务逻辑更加通畅
lambda表达式就是微软为了方便开发者工作而提出的,这是在C#3.0中就提出的一种新型表达式,lambda表达式是被视为一个对象的代码(表达式或语句块)的块。它可以作为参数传递给方法,也可以通过方法调用返回,使用 =>
来表示。Lambda表达式广泛用于:
- 将要执行的代码传递给异步方法
- 编写LINQ查询表达式
例如使用下面的代码可以创建异步方法
await Task.Run(() =>
{
Console.WriteLine("使用lambda创建异步方法");
})
或者创建LINQ查询表达式,以EF Core为例
var i = await _context.Todo.Where(x => x.Title == title).FirstOrDefault();
除此之外,lambda表达式广泛用于表示委托的代码,lambda表达式的特定委托类型取决于其参数和返回值。不返回值的Lambda表达式对应于特定Action
委托,具体取决于其参数数量。返回值的Lambda表达式对应于特定Func