将 C# 7.2 'in' 参数修饰符放在任何地方有用吗
Posted
技术标签:
【中文标题】将 C# 7.2 \'in\' 参数修饰符放在任何地方有用吗【英文标题】:Is it useful to put the C# 7.2 'in' parameter modifier everywhere将 C# 7.2 'in' 参数修饰符放在任何地方有用吗 【发布时间】:2020-04-03 09:09:59 【问题描述】:自 C# 7.2 起,in
parameter modifier 允许以只读方式通过引用传递参数。
据我了解,此修饰符允许通过引用传递结构并确保数据不会被修改。当需要传递大结构时,它对于性能目的很有用。
但是,将它用于较小的结构大小是否有用(如int
、bool
)?
【问题讨论】:
任何功能,不仅仅是语法糖,实际上是在做某事,永远不会在任何地方都有用。没有痛苦就没有收获。 【参考方案1】:不,(盲目地)将in
参数修饰符放在任何地方都没有用,因为编译器可能会创建防御性副本。
具体的例子可以在下面的问题中找到:
Using C# 7.2 in modifier for parameters with primitive types【讨论】:
以上是关于将 C# 7.2 'in' 参数修饰符放在任何地方有用吗的主要内容,如果未能解决你的问题,请参考以下文章
ReadOnlySpan<T> 参数是不是应该使用“in”修饰符?