gpt4 book ai didi

c# - 对象内存优化问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:11 25 4
gpt4 key购买 nike

请原谅我一个n00bish问题。

请考虑以下代码:

public class SampleClass
{
public string sampleString { get; set; }
public int sampleInt { get; set; }
}


class Program
{
SampleClass objSample;


public void SampleMethod()
{
for (int i = 0; i < 10; i++)
{ objSample = new SampleClass();
objSample.sampleInt = i;
objSample.sampleString = "string" + i;

ObjSampleHandler(objSample);
}
}

private void ObjSampleHandler(SampleClass objSample)
{
//Some Code here
}
}


在给定的示例代码中,每次调用 SampleMethod()时,它将迭代10次并为 SampleClass实例分配新的内存空间,并将其分配给 objSample对象。

我想知道,


如果这是一个不好的方法,那么很多
内存空间被浪费了吗?
如果是这样,是否有
更好地重用/优化
分配内存?


或者,我是否会毫无理由地担心并进入不必要的微优化模式? :)

编辑:还要考虑在多线程环境中使用这种方法的情况。那会改变什么吗?

最佳答案

您正在做的技术术语是过早优化

考虑事物对性能的影响,您肯定做得很好。但是在这种情况下,.NET垃圾收集器将处理内存。 .NET非常擅长快速创建对象。

只要您的类的构造函数没有执行很多复杂且耗时的事情,这就不会成为大问题。

关于c# - 对象内存优化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4366199/

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