NET版本之间有联系吗?他们把语言版本打包在里面了吗?谷歌没有提供任何明确的答案。看起来除了我之外每个人都知道这些东西。欢迎提供任何阅读链接。
uoifb46i1#
您可以在Microsoft上查找详细信息,有关纯语言方面的信息,请查看此处:https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history兼容性如下所示:仅在.NET 7和更高版本上支持C# 11。仅在.NET 6和更高版本上支持C# 10。仅在.NET 5和更高版本上支持C# 9。仅在.NET Core 3.x和更高版本上支持C# 8.0。
5m1hhzi42#
参见C# language versioning表。请注意,这只是最低支持的语言版本。许多语言功能在旧的、不受支持的.NET版本中工作正常,但需要手动编辑csproj文件以添加<LangVersion>latest</LangVersion>,从而指定要使用最新支持的c#版本。所以我的方法基本上是:1.尽可能使用最新的.NET版本1.如果你不能使用最新的.Net版本,添加LangVersion开关以获得最新的c#版本。这在技术上是不支持的,所以可能会引起问题,但是我还没有遇到任何重大的问题。
<LangVersion>latest</LangVersion>
LangVersion
uxh89sit3#
C#语言在Roslyn(编译器)和运行时中实现。也就是说,大多数特性不需要运行时,只需拥有最新的SDK并在csproj文件的标记中指定语言版本即可工作。我写了一篇关于它的博客文章:https://blog.genezini.com/p/how-to-use-c-sharp-11-features-in-dotnet-6-or-older-versions/
3条答案
按热度按时间uoifb46i1#
您可以在Microsoft上查找详细信息,有关纯语言方面的信息,请查看此处:https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history
兼容性如下所示:
仅在.NET 7和更高版本上支持C# 11。仅在.NET 6和更高版本上支持C# 10。仅在.NET 5和更高版本上支持C# 9。仅在.NET Core 3.x和更高版本上支持C# 8.0。
5m1hhzi42#
参见C# language versioning表。
请注意,这只是最低支持的语言版本。许多语言功能在旧的、不受支持的.NET版本中工作正常,但需要手动编辑csproj文件以添加
<LangVersion>latest</LangVersion>
,从而指定要使用最新支持的c#版本。所以我的方法基本上是:
1.尽可能使用最新的.NET版本
1.如果你不能使用最新的.Net版本,添加
LangVersion
开关以获得最新的c#版本。这在技术上是不支持的,所以可能会引起问题,但是我还没有遇到任何重大的问题。uxh89sit3#
C#语言在Roslyn(编译器)和运行时中实现。
也就是说,大多数特性不需要运行时,只需拥有最新的SDK并在csproj文件的标记中指定语言版本即可工作。
我写了一篇关于它的博客文章:https://blog.genezini.com/p/how-to-use-c-sharp-11-features-in-dotnet-6-or-older-versions/