Visual Studio 2017(15.x)支持C#7,但Visual Studio 2015(14.x)呢?
我怎样才能使用C#7?
直到今天,我可以使用主要构造函数,例如:
public class Test(string text)
{
private string mText = text;
}
Run Code Online (Sandbox Code Playgroud)
为了能够做到这一点,在以前的Visual Studio CTP中,我不得不将其添加到csproj文件中:
<LangVersion>Experimental</LangVersion>
Run Code Online (Sandbox Code Playgroud)
无论如何,这不再适用于Visual Studio 2015预览版(有或没有LangVersion).有没有人对可能发生的事情有任何想法?
我确实看到很多人使用这个新功能,但使用这些表达式有什么好处?
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代码)的区别,我不只是问,如果这是最好的做法,应在现实世界中使用.
这个问题也不 是主题,因为我要求的是现实生活中的企业经验,而不是建议.因此,不建议,但解释为什么你会或为什么你不会使用该功能以及你有什么经验!