【发布时间】:2015-09-14 19:00:35
【问题描述】:
使用没有变量的方法结果是否与不使用相同的内存量?
例如,是这样的吗:
public int A()
{
...
return a;
}
if(A() == 1)
...
仍将使用与以下相同数量的内存:
public int A()
{
...
return a;
}
int a = A();
if(a == 1)
...
我知道差异相对较小,但如果我在不同的大字节数组上执行大量功能,我应该尝试这样做吗?
【问题讨论】:
-
这里的 void 结果在哪里?你的方法返回一个
int。 -
函数被调用,返回一个值。一旦
==测试完成,该值将被简单地销毁/丢弃,因为它没有分配到任何地方。理想情况下,您只会使用“一半”的内存,例如该值保留在 cpu 寄存器中,而不是被复制到某处的内存中。 -
别担心。编写它以便代码易于阅读,并让编译器优化这些微小的东西。如果结果证明这是一个可衡量的性能问题,请发布您编写的真实代码并寻求具体建议。
-
你认为“void”是指“方法”吗?
-
不,对不起大家。中午打错字了,伙计。
标签: c# variables object memory