C# 拉姆达表达式相关,看一下两行代码的意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 拉姆达表达式相关,看一下两行代码的意思相关的知识,希望对你有一定的参考价值。

public string Nameget;set;
public string ShowName => Name;
第二行使用拉姆达表达式是什么意思

参考技术A public string ShowName()

return Name;
追问

请问ShowName是个属性还是委托变量?

追答

在这里算是属性,因为有get set

C#基本功------委托和事件--拉姆达表达式

委托的另一种用法---------匿名方法:

public delegate void MyDel(string msg);----声明的委托
    class Program
    {
        static void Main(string[] args)
        {
            MyDel mdl = delegate(string str) { Console.WriteLine(str); };
            mdl("床前明月光");
            Console.ReadKey();
        }
    }
另一种简单的写法
  public delegate void MyDel(string msg);
    class Program
    {
        static void Main(string[] args)
        {
            MyDel mdl = (string str)=> { Console.WriteLine(str); };------------将delegate简化成=>,这种方法逐渐的演化成了拉姆达表达式
            mdl("床前明月光");
            Console.ReadKey();
        }
    }

下面我们来看下拉姆达表达式

 public delegate void MyDel(string msg);----void改成string
    class Program
    {
        static void Main(string[] args)
        {
            MyDel md = x => x + "厉害";---会在这句话报错,如果我们把上面的返回值的类型改成string,就不会报错了,这是为什?因为x=>x+"厉害"相当于是返回值,返回回去了
            Console.ReadKey();
            
        }
    }

再举个例子:

   static void Main(string[] args)
        {
            T1((x, y, z) => x + y + z);-------------拉姆达表达式的使用
            Console.ReadKey();
        }
        public static void T1(myDel menth)
        {
            int result = menth(10, 20, 10);
            Console.WriteLine(result);
        }
        public delegate int myDel(int a,int b,int c);

 

以上是关于C# 拉姆达表达式相关,看一下两行代码的意思的主要内容,如果未能解决你的问题,请参考以下文章

Core源码IQueryable(转)

拉姆达表达式组合

markdown 蟒蛇中的列表推导式,拉姆达表达式和闭包

java.util.stream 库简介

lambda表达式来自哪里?

lambda啥意思