Intern Day70 - C# - Lambda表达式
补充概念
首先先补充几个概念
-
命名污染:两个库里的函数一样,就会出现重名,从而造成命名污染。
-
参数列表:看下面格式。函数定义的格式:
返回值类型 函数名(参数列表) { 声明 …… 语句 …… }
-
方法签名:指的是返回值和参数。
Lambda概念
Lambda表达式是一个匿名函数(没有函数名的函数)
特征:带 =>
=>
左边:Lambda表达式的参数列表;
=>
右边:Lambda表达式中需要执行的代码。
Lambda用法一
在目前项目学习中,Lambda最常见的用法就是和LINQ语法放在一起用,Lambda + LINQ 的作用就是对数据库进行增删改查操作(查更常见)。
string[] words = { "bot", "apple", "apricot" };
// 求words集合中开头为a的单词的最短长度
int minLen = words
.Where(w => w.StartsWith("a"))
.Min(w => w.Length);
Console.WriteLine(minimalLength); // 输出 5
Lambda用法二
没有任何参数的Lambda表达式:
Func<string> greet = () => "Hello, World!";
Console.WriteLine(greet());
Lambda用法三
设置只读属性:
public class Location
{
private string locationName;
public string Name => locationName;
}
上下这两块代码作用一样,设置Name属性为只读
public class Location
{
private string locationName;
public string Name
{
get => locationName;
}
}
Lambda用法四
有点委托的意思
Func<int, int, int> Add = (x, y) => x + y;
Console.WriteLine(Add(2, 3)); // 输出5
Lambda用法五
using System;
public class Person
{
public Person(string firstName, string lastName)
{
fname = firstName;
lname = lastName;
}
private string fname;
private string lname;
public override string ToString() => $"{fname} - {lname}".Trim();
public void DisplayName() => Console.WriteLine(ToString());
}
class Example
{
static void Main()
{
Person p = new Person("Mandy", "Bob");
Console.WriteLine(p);
p.DisplayName();
}
}
``
输出:
Mandy - Bob
Mandy - Bob
##参考
+ 可以去看一下微软的官方文档
+ C#中Lambda表达式的用法、原因:<https://jingyan.baidu.com/article/9989c7466d3d6fb749ecfe2b.html>
分类:
.NET后端开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2020-04-27 vim的三种模式的基本操作
2020-04-27 Linux的高级命令
2020-04-27 Linux的进阶命令
2020-04-27 Linux的基本命令
2020-04-27 Linux常见的文件目录结构