C#中的匿名方法,lamda表达式

以后会将自己所写的代码以及个人经验发布到网上,见证自己的成长。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 匿名方法
{
//注意:lambda不需要传递参数类型,因为委托已经定义了参数类型,所以编译器能识别除了

class Program
{
    //“定义”委托类型=》无参无返回值
    public delegate void MyDelegate();
    //委托变量需要放到类中,因为它相当于一种类型,然后再用它去创建对象,所以它和类的级别是一致的,所以只能放到主类中或者是放到和类一个级别的位置
    //public delegate void MyDelegate();//他是一个无参数无返回值的委托变量,所以它只能接收无返回值无参数的方法;

    //“定义”委托类型=》有参无返回值
    public delegate void MyDelegate1(string str1);

    //“定义”委托类型=》有参有返回值
    public delegate string MyDelegate2(string s, int i, char ch);

    //“定义”委托类型=》可变参数
    public delegate string MyDeletgat3(params int[] pms);

    static void Main(string[] args)
    { 
        //“声明”委托类型变量myDel,用委托类型变量接收匿名方法
        MyDelegate myDel = delegate(){//1.无参无返回值
            Console.WriteLine("小鸟说早早早,你为什么不背上小书包?");
        };//需要注意的是delgate是小写
        myDel();
        //对应lambda表达式
        MyDelegate mD1 = () => { };


        //委托类型变量接收有参数有返回值的匿名方法
        MyDelegate1 myDelegate1 = delegate (string s) {//2.有参无返回值
            Console.WriteLine( "嗯哼?");
        };
        myDelegate1("");
        //对应lambda表达式
        MyDelegate1 mD2 = (s) => {  //对于只有一个参数的ambda表达式,可以将“()”省略
            Console.WriteLine("嗯哼?");
        }; 


        //委托类型变量接收有参数有多个返回值的匿名方法
        MyDelegate2 myDelegate2 = delegate (string s,int i,char ch) {//3.无参无返回值
            return "嗯哼?";
        };
        Console.WriteLine(myDelegate2(" ",1,' '));
        //对应ambda表达式
        MyDelegate2 mD3 = (x,y,z) => { 
            return "嗯哼?";
        };

        //可变参数
        MyDeletgat3 myDeletgat3 = (arr)=>{
            for (int i = 0; i < arr.Length; i++)
            {
                Console.WriteLine(i);
            }
            return arr.Sum().ToString();

        };
        string sum = myDeletgat3(new int[] {1,2,3,4,5 });
        Console.WriteLine(sum);


        Console.ReadKey();
    }
   
}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1170407931

感谢各位小可爱的支持,谢谢啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值