C# 10和.NET Core 6之间的关系是什么

gr8qqesn  于 2023-02-17  发布在  .NET
关注(0)|答案(3)|浏览(142)

NET版本之间有联系吗?他们把语言版本打包在里面了吗?谷歌没有提供任何明确的答案。看起来除了我之外每个人都知道这些东西。
欢迎提供任何阅读链接。

uoifb46i

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。

5m1hhzi4

5m1hhzi42#

参见C# language versioning表。
请注意,这只是最低支持的语言版本。许多语言功能在旧的、不受支持的.NET版本中工作正常,但需要手动编辑csproj文件以添加<LangVersion>latest</LangVersion>,从而指定要使用最新支持的c#版本。
所以我的方法基本上是:
1.尽可能使用最新的.NET版本
1.如果你不能使用最新的.Net版本,添加LangVersion开关以获得最新的c#版本。这在技术上是不支持的,所以可能会引起问题,但是我还没有遇到任何重大的问题。

uxh89sit

uxh89sit3#

C#语言在Roslyn(编译器)和运行时中实现。
也就是说,大多数特性不需要运行时,只需拥有最新的SDK并在csproj文件的标记中指定语言版本即可工作。
我写了一篇关于它的博客文章:https://blog.genezini.com/p/how-to-use-c-sharp-11-features-in-dotnet-6-or-older-versions/

相关问题