C# 7.3 只读结构类型 "this"引用

标签 c#

readonly struct type

The this reference, instead of a copy of the receiver, is always an in parameter passed by reference to the member method. This optimization saves more copying when you use a readonly struct.

这到底是什么意思?在构造函数中使用“this”时,普通结构是否总是制作副本?

最佳答案

当您将结构作为参数传递给函数时,它会复制整个结构并将其提供给函数。

因为您使用的是只读结构,您实质上是在 promise 它永远不会改变。

当您在传递给它的函数上使用 (in) 修饰符时,您基本上是在 promise 您根本不会更改结构。因此,作为引用(基本上是指针)传入是安全的,而不是防御性地复制整个内容。

关于C# 7.3 只读结构类型 "this"引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919526/

相关文章:

c# - 为什么 AutoMapperExtension 的行为与直接实现不同?

c# - WPF '' local' 是一个未声明的前缀

c# - 是否有任何理由仅将 string.Format() 与字符串参数一起使用?

c# - 是否可以迭代 List<dynamic>?

c# - 正则表达式中的双重否定回顾

c# - 从 C# 发送一个字符串插入到 PHP 文件中,以便立即在 mysql select 查询中使用并返回结果

c# - 如何使用 XPATH 解析以下具有命名空间的内容?

c# - 使用 WinRT api Windows 8 Metro 应用程序实现图像处理效果?

c# - 从事件中删除空处理程序有任何副作用吗?

c# - C#WinForms DateTimePicker组件