当前位置: 首页 > news >正文

thinkphp 网站模版成都网页制作培训

thinkphp 网站模版,成都网页制作培训,微信网站开发哪家好,泰安选择企业建站公司C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例:集合查询示例: 1. 基本语法从主体语句上区分:1. 主体为单一表达式2. 主体是代码块(多个表达式语句) 从参数上区分1. 带输入参数的…

C#开发-集合使用和技巧

Lambda 表达式介绍和应用

  • C#开发-集合使用和技巧
  • 介绍
    • 简单的示例:
    • 集合查询示例:
  • 1. 基本语法
    • 从主体语句上区分:
      • 1. 主体为单一表达式
      • 2. 主体是代码块(多个表达式语句)
    • 从参数上区分
      • 1. 带输入参数的Lambda表达式
      • 2. 不带输入参数的Lambda表达式
    • 特殊用法:
  • 2. 用法和示例
    • 用法
      • (1)LINQ 查询
      • (2) 委托和事件处理
    • 高级用法
        • (1) 闭包
      • 5. 总结

介绍

Lambda 表达式在 csharp 中是一种简洁的方式来表示匿名方法(也称为匿名函数)。Lambda 表达式的语法使用 => 操作符,左侧是输入参数,右侧主体是表达式或代码块。

Lambda 表达式主要用于简化 LINQ 查询和事件处理代码,在开发过程中,可以很好的简化代码。

简单的示例:

我们给按钮加一个点击事件,我们需要先写一个点击的方法,然后+=给按钮添加事件
在这里插入图片描述·

使用lambda表达式就可以一行搞定

在这里插入图片描述

 public partial class Form1 : Form{int num = 0;public Form1(){InitializeComponent();button1.Click += Button1_Click;button1.Click += (sender, e) => num++;}private void Button1_Click(object sender, EventArgs e){num++;}}

集合查询示例:

在一个人员信息集合中找出所以性别为男的
在这里插入图片描述

如果要在一个集合,可以通过循环查找,这样需要循环+判断,然后将结果添加到新的集合中去

在这里插入图片描述

也可以使用Linq表达式实现,这样比第一种方法简单一点,但是也要写很长的代码
在这里插入图片描述

使用lambda表达式,一句话搞定。
在这里插入图片描述

以下是几种方法的完整的代码

 List<Person> testList = new List<Person>{new Person{Id = 1,Name = "张三",City = "北京",Sex = "男"},new Person{Id = 2,Name = "李四",City = "上海",Sex = "女"},new Person{Id = 3,Name = "王五",City = "广州",Sex = "男"},new Person{Id = 4,Name = "赵六",City = "深圳",Sex = "女"},new Person{Id = 5,Name = "孙七",City = "杭州",Sex = "男"}};//方法一:循环查找var ResultList = new List<Person>();foreach (var item in testList){if (item.Sex == "男"){ResultList.Add(item);}}//方法二: Linq语句var ResultList2 = from item in testList where item.Sex == "男" select item;//方法三:lambdavar result3 = testList.Where(x => x.Sex == "男");

以下是 lambda 表达式的介绍和一些常见用法:

1. 基本语法

Lambda 表达式有不同的写法

从主体语句上区分:

1. 主体为单一表达式

(parameters) => expression

示例:

(x)=>x+1
x=>x+1
//上面两种效果一致,只有一个参数时,括号可以简写
//多个参数必须要写括号(x, y) => x + y

效果:
多个参数必须加括号,不然会报错
在这里插入图片描述

2. 主体是代码块(多个表达式语句)

如果右侧表达主体中有个多个语句,则需要{ }包裹,主体就跟正常写函数一样

(parameters) => { statements }

示例:

(isOpen) =>
{if (isOpen){Console.WriteLine("打开");}else{Console.WriteLine("关闭");}
}

从参数上区分

1. 带输入参数的Lambda表达式

 (input parameters) => expression

示例:

    (x) => x * 2(x, y) => x + y

2. 不带输入参数的Lambda表达式

 	=> expression

示例:

   () => { return 5; }

特殊用法:

有些情况,Lambda需要带参数,但是在右侧表达式主体中,又用不到参数,这时就可以使用 _来代替参数,表示

_ => 是Lambda表达式的简写形式,其中 _ 通常表示一个未使用的输入参数。

_ => expression

示例:

 Action<int> action3 = _ =>{Console.WriteLine("执行了aciton");};button.Clicked += (_, _) => {// 不需要事件参数,直接执行代码DoSomething();
};

2. 用法和示例

用法

(1)LINQ 查询

Lambda 表达式在 LINQ 查询中广泛使用:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();

在上面的代码中,n => n % 2 == 0 是一个 lambda 表达式,用于筛选出所有偶数。

(2) 委托和事件处理

Lambda 表达式也可以用于定义委托和事件处理程序:

public delegate int MathOperation(int x, int y);MathOperation multiply = (x, y) => x * y;
int product = multiply(3, 4);  // product = 12// 事件处理
button.Click += (sender, e) => { Console.WriteLine("Button clicked!"); };

高级用法

(1) 闭包

Lambda 表达式可以捕获并使用它们作用域中的变量:

int multiplier = 3;
Func<int, int> multiplyBy = x => x * multiplier;
int result = multiplyBy(5);  // result = 15

在这个例子中,Lambda 表达式 x => x * multiplier 捕获了外部变量 multiplier

5. 总结

Lambda 表达式是 C# 中强大的功能特性,用于简化代码、提高可读性,特别是在 LINQ 查询和事件处理方面。它们的语法简单而灵活,能很好地提高代码的简洁性和可维护性。

特别是在后续一些集合操作中,基本都要用到Lambda 表达式,掌握好Lambda 表达式,可以很好的提高编程效率。

http://www.yayakq.cn/news/499395/

相关文章:

  • 科技设计网站有哪些内容阿里云买了域名怎么建网站
  • 深圳推广公司网站建设书模板合肥响应式网站设计
  • 网站建设优惠一个做炉石视频的网站
  • 网站搜索功能设计centos安装wordpress
  • 上海网站建设网络公司无锡装修公司做网站
  • 论坛网站开发成本vps搭建网站教程
  • 网站数据库 权限设计网页设计 做网站的代码
  • 网站开发从零到上线wordpress有哪些好模版
  • wordpress中文下载站超市网站规划
  • 网站建设页面美工阳泉 网站建设合作
  • asp.net 手机网站模板网站建设费用 多少
  • 犀牛云做网站怎么样怎么创建公众号微信
  • 长春电商网站建设多少钱常宁网站制作
  • 微信网站背景图片学校网站如何建设
  • 国建设网站百度找不到我的网站了
  • 网站设计服务商行业门户网站运营
  • 一般网站建设需要哪些东西做招工的网站排名
  • 先做网站还是先做天猫南山网站设计方案
  • 四川省化工建设有限公司网站广告策划宣传公司
  • pos机WordPress主题免插件优化wordpress
  • 二手交易网站建设网站建设利润越来越低
  • 长沙做旅游网站多少钱wordpress添加数据库文件
  • 在越南做网站都是什么人免费网站服务器
  • 网站排名如何做玉林网站seo
  • 站长工具seo查询软件好看的商城网站
  • 搞笑网站全站源码销售类网站开发架构
  • 做网站有用没网络营销方式举个例子
  • 慈溪哪点有学做网站的怎么做自己网站里的资讯
  • 电子商务网站的类型北京电子商务网站制作
  • 北京顺义网站建设百度企业邮箱注册申请