属性是否仅使用`get`分配内存? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

例如,

public int Health { get; set; }

分配4个字节。

public int Health { get { return ..... } }会分配任何记忆吗?

或者它只是一个返回int值的方法?

c# memory properties
1个回答
1
投票

计算属性不会增加分配的每个实例大小,就像添加方法不需要额外的每个实例内存一样。

我有2个选项,创建一些字段属性,因为它们的值可以从公式计算或从服务器发送计算值并使用它们。我想在保留属性语法的同时减少服务器包的大小,而不是制作很多方法。

这是一种常见的权衡,您可以决定使用内存来减少CPU使用,或者存储更多数据以节省计算。答案取决于您对内存,CPU使用和网络的限制,并需要分析这两个选项。

如果服务器计算它发送给你的值,而不是发送一个存储值,那么权衡就会变得更复杂一些。由于您在服务器和客户端上都具有相同的计算,因此将两者保持同步会成为维护责任。

© www.soinside.com 2019 - 2024. All rights reserved.