gpt4 book ai didi

c# - C# 7.0 是否适用于 .NET 4.5?

转载 作者:IT王子 更新时间:2023-10-29 03:45:17 25 4
gpt4 key购买 nike

我在 Visual Studio 2017 RC 中创建了一个项目,以检查我是否可以在 .NET Framework 4.5 项目中使用新的 C# 7.0 语言功能。在我看来,在引用 System.ValueTuple NuGet 之后,新元组工作正常。还有什么我应该考虑的,或者这行得通吗?

检查 System.ValueTuple NuGet 依赖项后,似乎不支持 .NET Framework 4.0。是这种情况吗,或者是否有某种方法可以使新语言也在此运行时中工作?

最佳答案

让我们来看看 the features new in C# 7.0 :

  • 元组:The System.ValueTuple package有一个版本 portable-net40+sl4+win8+wp8轮廓。这意味着它可以在 .Net 4.0 上使用。 (不确定为什么依赖项只列出 .Net 4.5。)

    如果您想在更低版本的 .Net 上使用元组,它应该仍然可以工作,只要您添加 the code for ValueTuple and related types到您的项目。

  • out变量、模式匹配、局部函数、更多表达式体成员,throw表达式、数字字面量语法改进:所有这些功能只是语法糖,因此它们不需要框架的任何新功能。

  • ref locals 和 returns:此功能在 C# 中公开了框架从一开始就支持的内容,因此这里也不需要对框架进行任何更改。

  • 通用异步返回类型:要使用此功能,您需要一个具有 AsyncMethodBuilder 的类型属性,在 the System.Threading.Tasks.Extensions package 中(连同一种这样的类型,ValueTask<T>)。此包仅在 .Net 4.5 上受支持,因此对于 .Net 4.0,您需要编译 the relevant types你自己。 (在 .Net 4.0 上使用 await 也需要 Microsoft.Bcl.Async ,但这并不是什么新鲜事。)

总结:安装所需的包后,所有 C# 7.0 都应该可以在 .Net 4.5 上运行,并且大部分也应该可以在 .Net 4.0 上运行。

关于c# - C# 7.0 是否适用于 .NET 4.5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42482520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com