我在带有Visual Studio 2017的Windows 10计算机上的.NET Project中编写了一些代码。 目标框架ist 4.5.2。并且使用的C#版本是默认版本(在“ C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”下运行csc工具显示C#5。
我使用了C#6中的功能。Monadic空检查(https://damieng.com/blog/2013/12/09/probable-c-6-0-features-illustrated)。 并且编译器不会对此抱怨。
这是正常的行为还是我缺少什么?编译器不应该抱怨吗?
答案 0 :(得分:3)
您所缺少的是所使用的C#编译器不是您找到的csc.exe。 Visual Studio附带了自己的C#编译器,该编译器支持C#6(以及以后的版本,具体取决于您安装的VS的确切版本)。
答案 1 :(得分:0)
C#语言版本由Visual Studio而不是.Net Framework决定。
只要您的Visual Studio版本支持C#版本,您就不会遇到任何错误。
在Visual Studio中配置语言版本:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version