首页 > 其他分享 >委托演变lambda

委托演变lambda

时间:2023-11-26 18:11:57浏览次数:22  
标签:Console 演变 委托 int 匿名 参数 WriteLine 返回值 lambda

委托可以演变为匿名方法,然后由匿名方法演变成为Lambda。

static void MM(string[] args)
{
    // 无参数无返回值的匿名方法
    Action a1 = delegate ()
    {
        Console.WriteLine("这是一个匿名方法");
    };
    a1();
    // 有参数无返回值的匿名方法
    Action<string, string> a2 = delegate (string s, string t)
    {
        Console.WriteLine($"s={s},t={t}");
    };
    a2("1","2");
    // 有参数有返回值的匿名方法
    Func<int, int, int> f1 = delegate (int x, int y)
    {
        return x + y;
    };
    Console.WriteLine(f1(1, 2));

    // 有参数有返回值的匿名方法 缩写1 省略delegate 改为 =>
    Func<int, int, int> f2 = (int x, int y) =>
    {
        return x + y;
    };
    Console.WriteLine(f2(1, 2));

    // 有参数有返回值的匿名方法 缩写2 代码有返回值并且只有一行代码,省略{}和return
    Func<int, int, int> f3 = (int x, int y) => x + y;
    Console.WriteLine(f3(1, 2));

    // 有参数有返回值的匿名方法 缩写3 参数列表的类型是可以省略的
    Func<int, int, int> f4 = (x, y) => x + y;
    Console.WriteLine(f4(1, 2));


    // 无参数无返回值的匿名方法 缩写1 无参数无返回值省略{}
    Action s1 = () =>  Console.WriteLine("这是一个匿名方法 缩写形式");
    s1();

    // 有参数无返回值的匿名方法 缩写2 有一个参数无返回值省略{}和()
    Action<string> s2 = x => Console.WriteLine($"{x}");
    s2("fdsaf");


}

标签:Console,演变,委托,int,匿名,参数,WriteLine,返回值,lambda
From: https://www.cnblogs.com/sunhouzi/p/17857633.html

相关文章

  • C++ lambda 内 std::move 失效问题的思考
    最近在学习C++Move时,有看到这样一个代码需求:在lambda中,将一个捕获参数move给另外一个变量。看似一个很简单常规的操作,然而这个move动作却没有生效。具体代码如下std::vector<int>vec={1,2,3};autofunc=[=](){autovec2=std::move(vec);std::cout......
  • 委托之Action与Func
    代码:usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;namespace委托之Action与Func{classProgram{staticvoidMain(string[]args){Console.Wri......
  • lambda对字典或者带字典的列表进行排序
    a=[{'name':'b','age':11},{'name':'c','age':10},{'name':'a','age':12}]e={'name':22,'age':12,'bbb':23}b=sorted(a......
  • Maybatis-Plus 数据库查询 lambdaQuery和mapper中EQ、NE、GT、LT、GE、LE、select、li
    Maybatis-PluslambdaQuery和mapper中EQ、NE、GT、LT、GE、LE的用法及详解实体当前实体如下,后续代码示例都用该实体;@Data@TableName("user_info")@ApiModel(value="UserInfo对象",description="")publicclassUserInfoimplementsSerializable{privatesta......
  • 现代计算机网络的演变与应用
    引言:计算机网络已经成为我们日常生活中不可或缺的一部分。无论是在家庭、学校还是工作场所,我们都离不开与他人和外部世界的连接。随着科技的发展,计算机网络也在不断演变和进步,为我们带来了更多便利和机遇。本文将介绍计算机网络的发展历程、重要应用以及未来趋势。正文:一、计算机网......
  • Java8新特性lambda学习
    Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。本质:作为函数式接口的实例,没有接口就没意义了.//简单......
  • MySQL索引结构演变历史
    MySQL索引结构演变历史什么是索引索引定义:索引是依靠某些数据结构和算法来组织数据,最终引导用户快速检索出所需要的数据例如新华字典中,我们可以通过偏旁部首或者拼音快速找到我们需要查找的字;这里的偏旁部首和拼音就是索引索引选择数据结构历史1.有序数组优点:可以通过下标随机访问......
  • JavaSE day08 - Lambda,Stream,File,递归
    JavaSEday08-Lambda,Stream,File,递归今日目标Lambda表达式Stream流File类递归1Lambda表达式1.1体验Lambda表达式packagecom.itheima.lambda_demo;/*Lambda表达式体验:*/publicclassLambdaDemo{publicstaticvoidmain(String[]ar......
  • Kotlin委托的深入解析与实践
    引言在Kotlin编程语言中,委托是一项强大的特性,它能够极大地简化代码,提高代码的可维护性。本文将深入探讨Kotlin中的委托机制,介绍其原理、具体使用方式以及实际应用场景。委托的原理委托是一种通过将实际工作委托给其他对象来实现代码重用的机制。在Kotlin中,委托通过关键字by来实现......
  • 如何用好java的lambda表达式
    Lambda表达式是Java8引入的一种新特性,它使得在Java中能够更加方便地使用函数式编程的思想。Lambda表达式可以简洁地表示一个匿名函数,可以作为参数传递给方法或者作为返回值返回。使用Lambda表达式可以使代码更加简洁、易读,并且能够更好地利用多核处理器的优势。Lambda表达式的基本......