在新的C#6.0中,我们可以使用lambda表达式定义方法和属性.
例如这个属性
public string Name { get { return First + " " + Last; } }
Run Code Online (Sandbox Code Playgroud)
现在可以定义如下:
public string Name => First + " " + Last;
Run Code Online (Sandbox Code Playgroud)
有关表达式函数成员的信息,请访问:http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx
有没有人知道使用新语法时是否有任何开销?它可以减慢(或提高效率)应用程序,或者它可能没关系?
我试图在我的C#客户端程序中启用SSL,并在此答案中找到以下代码:
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
(se, cert, chain, sslerror) =>
{
return true;
};
Run Code Online (Sandbox Code Playgroud)
我将代码添加到我的程序中它解决了问题,但我完全不知道它是如何工作的.
左边部分System.Net.ServicePointManager.ServerCertificateValidationCallback
是一些回调并+=
修改了回调.但剩下的构造意味着什么呢?我花了20分钟搜索至少找到它是如何正确调用的,在哪里我可以找到更多关于如何阅读的信息,但都是徒劳的.我想它与LINQ有某种关联并搜索"LINQ箭头",但没有找到任何合理的东西.
如何(blah,blah,blah)=>{return true;}
调用该构造,在哪里可以找到有关此类构造的更多信息?
我确实看到很多人使用这个新功能,但使用这些表达式有什么好处?
public override string ToString() => string.Format("{0}, {1}", First, Second);
public string Text =>
string.Format("{0}: {1} - {2} ({3})", TimeStamp, Process, Config, User);
Run Code Online (Sandbox Code Playgroud)
这个问题是不同的这一个,因为如果性能和效率也发生变化,但也对编译后的代码(IL代码)的区别,我不只是问,如果这是最好的做法,应在现实世界中使用.
这个问题也不 是主题,因为我要求的是现实生活中的企业经验,而不是建议.因此,不建议,但解释为什么你会或为什么你不会使用该功能以及你有什么经验!