在C#中将结构值传递给方法by-reference是可接受的优化吗?

在C#中将结构值传递给方法by-reference是可接受的优化吗?,第1张

概述说我有一个结构: struct MyStruct{ public int X public int Y} 并且在某些类中的方法在其他地方多次迭代: public bool MyMethod( MyStruct myStruct ){ return ...} 是否将MyMethod签名更改为以下可接受的优化? public bool MyMethod( ref MyS 说我有一个结构:

struct MyStruct{    public int X    public int Y}

并且在某些类中的方法在其他地方多次迭代:

public bool MyMethod( MyStruct myStruct ){    return ...}

是否将MyMethod签名更改为以下可接受的优化?

public bool MyMethod( ref MyStruct myStruct )

如果是这样,它真的有多大的优势?如果没有,那么结构需要多少字段才能以这种方式使用ref获得足够大的优势?

解决方法 既然你明确询问它是否“可以接受”……

我回答不.通过ref传递参数,你对编译器和程序员撒谎; .NET中的ref(独占)意味着您打算修改方法内的参数.

当然,你可以提供一个额外的注释来解释程序员的“谎言”(但不是编译器……).但为什么首先滥用语义?

如果你真的需要这样的极端微优化(并且看到其他答案 – 任何性能优势都会因为各种原因而受到质疑!).NET可能只是错误的环境.在C中实现相关部分.

总结

以上是内存溢出为你收集整理的在C#中将结构值传递给方法by-reference是可接受的优化吗?全部内容,希望文章能够帮你解决在C#中将结构值传递给方法by-reference是可接受的优化吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1222993.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存