首页新闻找找看学习计划

decimal的问题

0
悬赏园豆:10 [待解决问题]

请大家看看,两图。我调用一个方法,对传入来的参数进行相减,为什么会对传入来的参数受影响?decimal是struct,值类型。况且我没有进行赋值(运算符重载不存在吧),为何会自动发生变化。

顺德k哥的主页 顺德k哥 | 初学一级 | 园豆:194
提问于:2018-12-06 09:10
< >
分享
所有回答(2)
0

刚才用reflector看了下,确实把参数给改变了:

我居然这么多年都没发现

会长 | 园豆:1410 (小虾三级) | 2018-12-06 09:32

感谢你的回复,但好像又不是那一回事。我多了两行代码,又正常了。这个是微软的bug么?

支持(0) 反对(0) 顺德k哥 | 园豆:194 (初学一级) | 2018-12-06 09:41

@顺德k哥: 真是啊,我也试了。我现在没空了,你有空的话可以这样试试:把你前后的代码都翻译成IL,看看有什么区别,我看源码是改了参数的,可能你写的前后代码IL有差别,用反编译工具就能看到

支持(0) 反对(0) 会长 | 园豆:1410 (小虾三级) | 2018-12-06 09:52
0

var替换为decimal试试,估计var语法糖内部封装了ref

PageAdmin | 园豆:263 (菜鸟二级) | 2018-12-11 00:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册