C# 匿名函数_C# 匿名函数使用整理

一、C# 匿名函数简介

匿名方法:没有名字的方法,不需要名字的方法。

匿名方法是没有名称只有主体的方法。

匿名方法和委托搭载使用。

匿名方法 精确点可以改叫 匿名函数。

委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。

匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。

在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。

 

二、 C# 匿名函数使用场景

1. delegate 委托匿名方法

    //委托
    delegate int CalcuteSum(int num1,int num2);

        static void ObjectTest1()
        {
            //委托匿名方法1
            CalcuteSum calcuate1 = delegate (int num1, int num2)
            {

                return num1 + num2;
            };

            int result = calcuate1(1, 2);
            Console.WriteLine(result);//3

            //委托匿名方法1
            calcuate1 = delegate (int num1, int num2)
            {
                return num1 + num2 + 1;
            };


            int result2 = calcuate1(1, 2);
            Console.WriteLine(result2);//4

            //委托静态方法
            calcuate1 = TestSum;
            int result3 = TestSum(1, 2);
            Console.WriteLine(result3);//5
        }

        static int TestSum(int num1, int num2)
        {
            return num1 + 1 + num2 + 1;
        }

2. 匿名方法 和  Lamda表达式

   从 C# 3 开始,lambda 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数。 使用 => 运算符构造 lambda 表达式:

Func<int, int, int> sum = (a, b) => a + b;
Console.WriteLine(sum(3, 4));  // output: 7

 

3.方便开发和使用的委托  Action,Func

Action: 没有返回类型的委托定义。

Action greet = delegate { Console.WriteLine("Hello!"); };
greet();
Action<int, int> getNum = delegate (int num1, int num2)
{
    var result = num1 * num2;

    Console.WriteLine(result);
};

Func :需要返回类型的委托定义。

Func<int, int, int> sum = static delegate (int a, int b) { return a + b; };
Console.WriteLine(sum(10, 4));  // output: 14

 

 

更多:

C# 匿名对象_C#匿名类型_C# 匿名对象使用整理

C# 数组_C#动态数组详解整理

DotNet 开发项目类型整理_C#开发项目类型整理

 

  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值