"ref return" 是语言特性还是 CLR 的特性
Is "ref return" a language feature or feature of the CLR
在这个 SO 问题中:Why doesn't C# support the return of reference(以及网络上的其他地方),我无法确定 ref return
何时被引入到 .NET 框架中。它只是语法糖吗?
我问的原因是我们的许多主机没有安装最新的 .NET 框架版本(仍在 4.5.2 上),我想知道这将如何影响 CLR 向后兼容性、运行时正确性和性能。
此外,我在哪里可以找到有关旧版 .NET 框架如何处理向后兼容性的文档? C# 6.0 语言规范似乎没有涵盖这一点,也许我以某种方式跳过了这一点?
正如您链接到的答案(和 blog entry this answer linked to)中提到的,.NET CLR 一直支持 ref return
s,只是 C# 和 VB 编译器支持不支持
添加了 C# 7.0 support for reference return values, and VB 15 added partial support。
换句话说:目标系统上的 .NET Framework 版本并不重要,开发系统上的编译器版本很重要。不需要向后兼容,因为,如上所述,该功能从一开始就在 .NET CLR 中。
在这个 SO 问题中:Why doesn't C# support the return of reference(以及网络上的其他地方),我无法确定 ref return
何时被引入到 .NET 框架中。它只是语法糖吗?
我问的原因是我们的许多主机没有安装最新的 .NET 框架版本(仍在 4.5.2 上),我想知道这将如何影响 CLR 向后兼容性、运行时正确性和性能。
此外,我在哪里可以找到有关旧版 .NET 框架如何处理向后兼容性的文档? C# 6.0 语言规范似乎没有涵盖这一点,也许我以某种方式跳过了这一点?
正如您链接到的答案(和 blog entry this answer linked to)中提到的,.NET CLR 一直支持 ref return
s,只是 C# 和 VB 编译器支持不支持
添加了 C# 7.0 support for reference return values, and VB 15 added partial support。
换句话说:目标系统上的 .NET Framework 版本并不重要,开发系统上的编译器版本很重要。不需要向后兼容,因为,如上所述,该功能从一开始就在 .NET CLR 中。