MST

星途 面试题库

面试题:C#中Lambda表达式与匿名函数的基础应用

请用C# Lambda表达式实现一个简单的委托,该委托用于对两个整数进行加法运算,并调用这个委托。同时,阐述Lambda表达式与匿名函数在这种场景下的联系与区别。
41.3万 热度难度
编程语言C#

知识考点

AI 面试

面试题答案

一键面试
using System;

class Program
{
    static void Main()
    {
        // 使用Lambda表达式创建委托
        Func<int, int, int> addDelegate = (a, b) => a + b;

        // 调用委托
        int result = addDelegate(3, 5);
        Console.WriteLine($"相加结果: {result}");
    }
}

Lambda表达式与匿名函数在这种场景下的联系与区别:

  • 联系
    • 在C#中,Lambda表达式实际上是匿名函数的一种简洁写法。它们都允许在代码中定义一个没有显式命名的函数。在实现委托功能时,二者都可以用来提供一个可作为委托实例的代码块,以实现特定的功能逻辑,比如上述的加法运算。
  • 区别
    • 语法简洁性:Lambda表达式语法更为简洁明了。例如,上述的Lambda表达式(a, b) => a + b,非常直观地表示了接受两个参数并返回它们相加结果的逻辑。而匿名函数的语法相对复杂,例如使用匿名函数实现相同功能可能像这样:delegate(int a, int b) { return a + b; }
    • 类型推断:Lambda表达式在类型推断方面更为强大。编译器可以更方便地根据上下文推断出Lambda表达式的参数类型,所以很多时候无需显式声明参数类型。而匿名函数通常需要显式声明参数类型。