`

Lambda表达式实例

    博客分类:
  • C#
 
阅读更多
简单的说lambda是由.NET Framework1.0的委托、.NET Framework2.0的匿名方法演变而来的。但他与匿名方法是有点区别的,匿名方法需要指定参数的类型,而lambda表达式则不用。
lambda表达式的语法是:(输入参数)=>(方法体/表达式)
现将举个最简单的例子
public calss Test
{
   //定义一个返回值为string类型的委托变量
   public delegate strig delTransfer(string s);
   public test()
   {
   }

   private void Lambda_Click(object sender, EventArgs e)
        {
            //Lambda表达式的由来

            //.NET Framework 1.0委托--函数指针
            //delTransfer trans = new delTranfore(ToPascal); //实例化委托,和方法关联
            //Console.WriteLine(trans("abcdefgafateateaft"));

            //.NET Framework 2.0 匿名方法
              //delTransfer trans = delegate(string s) {return s.Substring(0, 1).ToUpper() + s.Substring(1); };
              //Console.WriteLine(trans("abcdefgafateateaft"));

            //.NET Framework 3.5 Lambda表达式 两种写法, =>标识左边表示方法参数(可以为参数加上类型),右边表示方法体
           // delTransfer trans = (s) => (s.Substring(0, 1).ToUpper() + s.Substring(1));
           // delTransfer trans = s=> s.Substring(0, 1).ToUpper() + s.Substring(1);
            Console.WriteLine(trans("abcdefgafateateaft")); 
        }

     //定义和委托相关联的方法
   private string ToPascal(this string s)
    {
        return s.Substring(0, 1).ToUpper() + s.Substring(1);
    }
}
分享到:
评论

相关推荐

    Java8新特性之Lambda表达式和Optional类

    函数式接口可以被 Lambda 表达式实例化,允许开发者使用 Lambda 表达式编写更简洁的代码。 1.2 函数式接口- Consumer/Predicate/Function/Supplier 函数式接口有四种类型:Consumer、Predicate、Function 和 ...

    jdk1.8 Lambda表达式

    Lambda 表达式实例: ```java // 无参数,直接返回5 ()->5 // 接收一个参数,并返回其两倍值 x->2*x // 接收两个参数,并返回它们的差值 (x,y)->x-y // 接收两个整数参数,返回它们的和 (int x, int y)->x+y // ...

    Java8 新特性Lambda表达式实例详解

    Java8 新特性Lambda表达式实例详解 Java8 中引入了Lambda表达式,这是一种函数式编程的方式,它可以使代码变得更加简洁和高效。Lambda表达式可以作为函数式接口的实例,它可以捕获外部变量,实现高效的回调机制。 ...

    java8 lambda表达式学习总结

    3. **方法引用**:当Lambda体完全等同于某个已存在的方法时,可以使用方法引用来替代Lambda表达式,如 `Arrays.sort(list, Comparator.comparingInt(Integer::intValue))`。 4. **构造器引用**:同样,Lambda 表达式...

    Lambda表达式超详细总结

    3. **Lambda表达式实例** 假设我们有一个`Function, Integer>`类型的变量`f`,可以这样定义Lambda表达式: ```java f = (String s) -> s.length(); ``` 这里的Lambda表达式 `(String s) -> s.length()` 相当于...

    Lambda表达式 2008新特性

    下面是使用Lambda表达式实例化这些委托的例子: ```csharp // Action委托 Action<string> actionDoWork = (content) => Console.WriteLine("Action is " + content); actionDoWork("Reading"); // Func委托 Func, ...

    JavaLambda表达式和匿名类.pdf

    Lambda表达式往往比匿名类更节省内存,因为它们通常不会创建新的类实例。当需要频繁创建和销毁短生命周期的对象时,Lambda的优势更为明显。 总结起来,Java 8 的Lambda表达式提供了一种更简洁、更易读的代码表示...

    Lambda表达式的例子

    此外,Lambda表达式也可以用于方法引用,比如对于已有的静态方法或对象的实例方法,可以直接引用而无需重新编写逻辑: ```java Collections.sort(people, Comparator.comparing(Person::getName)); ``` 这里使用了...

    精通lambda表达式: java多核编程

    Lambda表达式实际上是这些接口的实例化,提供了接口中抽象方法的具体实现。 3. **Stream API** Stream API是Java 8引入的另一个重要特性,它与Lambda表达式紧密配合,提供了强大的数据处理能力。通过`.parallel()`...

    委托、事件、Lambda表达式Demo

    例如,上面的`MyDelegate`可以用Lambda表达式来创建实例: ```csharp MyDelegate lambdaDel = (x, y) => x + y; // Lambda表达式作为委托实例 ``` Lambda表达式与委托结合使用,使得代码更加简洁,尤其在LINQ查询...

    Java lambda表达式和JVM字节码功能详解.pdf

    Java Lambda表达式是Java 8引入的一个重要特性,它极大地简化了函数式编程风格的实现。Lambda表达式允许我们将函数作为一个值传递,就像传递其他数据类型一样。这在处理集合、事件驱动编程以及多线程等场景下尤其...

    Lambda表达式测试demo

    通过Lambda表达式,我们可以快速地创建这些接口的实例,而无需定义完整的匿名内部类。 下面是一些Lambda表达式的常见用法: 1. **无参数Lambda**:如果Lambda表达式不接受任何参数,参数列表部分可以为空,如`() -...

    C# Lambda表达式

    Lambda表达式可以直接赋值给一个委托实例,这是因为Lambda表达式在后台被编译为匿名方法,而匿名方法可以与委托兼容。这使得Lambda表达式在事件处理和回调函数中非常实用。 5. **LINQ与Lambda表达式** Lambda...

    Lambda表达式总结

    - **调用委托**:最后,通过委托实例调用绑定的Lambda表达式。 #### 五、Lambda表达式与匿名方法的区别 在.NET Framework 2.0中引入了匿名方法的概念,这是一种不需显式声明方法名称的函数。随着.NET Framework的...

    Java8的Lambda表达式

    Java 8引入了Lambda表达式,这是一种简洁的编写代码的方式,可以将代码块作为参数传递给方法,或者作为赋值给变量的对象。Lambda表达式为Java增加了函数式编程的能力,使代码更加简洁和灵活。在Java 8中,Lambda...

    Python三元运算与lambda表达式实例解析

    这篇文章主要介绍了Python三元运算与lambda表达式实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 三元运算是if…else…的简化版,lambda表达式是函数...

    lambda表达式学习demo

    - 当Lambda体中的代码完全匹配某个已有的方法时,我们可以直接引用该方法,代替Lambda表达式。 ```java Collections.sort(names, String::compareToIgnoreCase); ``` 6. **变量捕获** - Lambda 表达式可以访问...

    Lambda表达式

    Lambda 表达式的应用实例包括: 1. Sort 方法:使用 Lambda 表达式可以对列表进行排序。 2. ConvertAll 方法:使用 Lambda 表达式可以将列表中的每个元素转换为其他类型。 3. FindAll 方法:使用 Lambda 表达式...

    Python的条件表达式和lambda表达式实例

    在Python编程语言中,条件表达式和lambda表达式是两种非常实用的语法结构,它们各自在不同的场景下发挥着重要作用。接下来,我们将深入探讨这两种表达式的概念、用法以及应用场景。 首先,条件表达式(也称作三元...

    C#3.0新体验(五)Lambda表达式

    C#3.0引入了Lambda表达式,这是一种强大的编程特性,极大地简化了代码,特别是处理函数式编程和委托。Lambda表达式本质上是匿名函数的一种形式,允许我们在不需要定义单独的方法时,直接在需要的地方写入函数逻辑。 ...

Global site tag (gtag.js) - Google Analytics