浏览器标题切换
浏览器标题切换end

Intern Day70 - C# - Lambda表达式

补充概念

首先先补充几个概念

  1. 命名污染:两个库里的函数一样,就会出现重名,从而造成命名污染。

  2. 参数列表:看下面格式。函数定义的格式:

    返回值类型 函数名(参数列表)
    {
      声明 ……
      语句 ……
    }
    
  3. 方法签名:指的是返回值和参数。

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>
posted @   抓水母的派大星  阅读(47)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.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常见的文件目录结构
点击右上角即可分享
微信分享提示