gpt4 book ai didi

c# - 在构造函数中将整数字段/属性分配为零

转载 作者:太空狗 更新时间:2023-10-29 19:53:18 25 4
gpt4 key购买 nike

在最近的一次代码审查中,一位同事建议,对于具有 4 个 int 属性的类,在构造函数中将每个属性赋值为零会导致性能下降。

例如,

    public Example()
{
this.major = 0;
this.minor = 0;
this.revision = 0;
this.build = 0;
}

他的观点是,这是多余的,因为默认情况下它们将设置为零,并且您实际上通过两次执行相同的任务来引入开销。我的观点是,如果存在的话,性能损失可以忽略不计,而且这更具可读性(有多个构造函数),因为调用此构造函数后对象状态的意图非常清楚。

你怎么看?这里有值得关注的性能提升吗?

最佳答案

不,没有。编译器会优化掉这些操作;相同的任务不会执行两次。你的同事错了。

[根据一贯优秀的 Jon Skeet 的意见进行编辑]

编译器应该优化操作,但显然它们并没有完全优化;然而,优化增益完全可以忽略不计,分配如此明确的好处是好的。您的同事可能没有完全错,但他们专注于完全微不足道的优化。

关于c# - 在构造函数中将整数字段/属性分配为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com