gpt4 book ai didi

c# - .NET 如何通过操作优化属性?

转载 作者:太空狗 更新时间:2023-10-30 00:08:24 25 4
gpt4 key购买 nike

为了讨论,我有这个类的属性

public class Intresting
{
decimal _mQty, _mSpareQty;

public Qty { get { return _mQty; } set { _mQty = value; } }
public SpareQty { get { return _mSpareQty; } set { _mSpareQty= value; } }
public SparePercentage
{
get { return _mQty == 0 ? 0 : _mSpareQty / _mQty; }
set { _SpareQty = Qty * value; }
}
}

我担心如果我有 1,000,000 个有趣的对象在只读情况下显示在自定义 GridView 中,通过属性显示 SparePercentage,SparePercentage 将被一遍又一遍地计算,或者是否会进行优化,例如使用第三个 _mSpareQtyPercentage在设置 Qty 和 SpareQty 时重新计算?

最佳答案

我非常怀疑 JIT 中是否有任何东西可以为您执行优化 - 毕竟,每次设置 QtySpareQty 时都需要做更多的工作,每个对象有更多空间。这不是 JIT 应该为您做的权衡。当然,您可以自己做 - 只是不要指望 C# 或 JIT 编译器为您做。

希望 JIT 编译器内联您的琐碎属性 - 从 C# 3 开始,这些属性可以写成自动实现的属性:

public decimal Quantity { get; set; }
public decimal SpareQuantity { get; set; }

(顺便说一句,请注意同时使名称更易读的更改。)

关于c# - .NET 如何通过操作优化属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814098/

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