使用较旧的.NET版本和较新的C#版本的副作用

问题描述 投票:2回答:2

我在带有Visual Studio 2017的Windows 10机器上的.NET Project中编写了一些代码。目标框架是4.5.2。并且使用的C#版本是默认的(在“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”下运行csc工具显示C#5。

我使用了C#6中的一个特性.Monadic null检查(https://damieng.com/blog/2013/12/09/probable-c-6-0-features-illustrated)。并且编译器不会抱怨它。

这是正常的行为还是我错过了什么?编译器不应该抱怨它吗?

c# .net visual-studio compiler-errors
2个回答
3
投票

您缺少的是使用的C#编译器不是您找到的csc.exe。 Visual Studio附带了自己的C#编译器,它支持C#6(以后,根据你安装的VS的确切版本)。


0
投票

C#语言版本由Visual Studio决定,而不是由.Net Framework决定。

只要您的Visual Studio版本支持C#版本,您就不会遇到任何错误。

在Visual Studio中配置语言版本:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version

© www.soinside.com 2019 - 2024. All rights reserved.