当有一个拥有50个方法的类,并且我们创建了50个该类的对象实例时,内存会发生什么?对于具有大量功能和较少内存使用的对象
,最佳解决方案是什么?
当有一个拥有50个方法的类,并且我们创建了50个该类的对象实例时,内存会发生什么?对于具有大量功能和较少内存使用的对象
,最佳解决方案是什么?
是的,C#/.Net方法需要基于每个AppDomain的内存,但方法/属性没有单独实例的成本。
成本来自于:
因此,使用50个方法实例化1个对象或50个对象都不会对方法的内存使用量造成影响。
首先,内存使用和功能不是基于对象,而是基于我们创建对象的类...因此,如果您正在创建一个类的对象,则可以访问该类的所有功能..我认为使用对象访问类的功能是更好的选择。
this
参数获取它们所在的实例提供的上下文,即它们正在处理的实例,对于静态方法来说不需要上下文。这就是为什么不需要为不同的实例复制方法到内存中的原因。属性只是 getter 和 setter 方法,因此同样适用。这就将字段作为占用内存的实例中的内容。 - ckuri