请问decimal.zero和0M在性能上是否有区别?

qq_40309521 2018-11-08 02:03:06
我的理解是0M需要开辟内存空间,而decimal.zero是常量,直接引用就行了?是这样吗?
...全文
773 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng2005 2018-11-09
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
0M是需要在栈上分配,decimal.zero就是在栈上预先分配,这点性能对于当前硬件环境来讲完全可以忽略不计,毕竟一旦涉及赋值,值类型都是重新在栈上分配内存的

编译后是一样的IL代码,怎么就能出现不同呢?求解
  • 打赏
  • 举报
回复
0M是需要在栈上分配,decimal.zero就是在栈上预先分配,这点性能对于当前硬件环境来讲完全可以忽略不计,毕竟一旦涉及赋值,值类型都是重新在栈上分配内存的
cheng2005 2018-11-08
  • 打赏
  • 举报
回复
decimal.zero是常量,编译之后就变成了 0M
所以不考虑decimal.zero发生变化的情况,2者是等价的。
MikeCheers 2018-11-08
  • 打赏
  • 举报
回复
是是是是是是

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧