改善C#程序157个建议——建议37学习笔记:使用Lambda表达式代替方法和匿名方法

举报
AI浩 发表于 2021/12/22 23:42:49 2021/12/22
【摘要】   class Program     {         static void Main(string[] args)         {             ...

  class Program
    {
        static void Main(string[] args)
        {
            Func<int, int, int> add = Add;
            Action<string> print = Print;
            print(add(1, 2).ToString());
            Console.ReadKey();
       
        }
        static int Add(int i, int j)
        {
            return i + j;
        }
        static void Print(string msg)
        {
            Console.WriteLine(msg);
        }
    }

从以上的方法中注意到:Add方法和Print方法只有一条语句,因此使用匿名方法改写。

static void Main(string[] args)
        {
          Func<int,int ,int> add=new Func<int, int, int >(delegate(int i,int j)
          { return i + j; });
            Action<string> print = new Action<string>(delegate (string msg)
              { Console.WriteLine(msg); });
            print(add(1, 2).ToString());
            Console.ReadKey();
        }

Lambda表达式实现:

 static void Main(string[] args)
        {
            Func<int, int, int> add = (i, j) => { return i + j; };
            Action<string> print = (msg) =>
            { Console.WriteLine(msg); };
            
            print(add(1, 2).ToString());
            Console.ReadKey();
        }

文章来源: wanghao.blog.csdn.net,作者:AI浩,版权归原作者所有,如需转载,请联系作者。

原文链接:wanghao.blog.csdn.net/article/details/106663558

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。