将方法结果分配给变量

时间:2015-09-14 19:00:36

标签: c# variables object memory

使用没有变量的方法结果是否使用相同数量的内存而不这样做?

例如,是这样的:

public int A()
{
    ...
    return a;
}
if(A() == 1)
...

仍将使用相同数量的内存:

public int A()
{
    ...
    return a;
}

int a = A();
if(a == 1)
...

我知道差异相对微乎其微,但如果我在不同的大字节数组上执行大量函数,我应该尝试这样做吗?

1 个答案:

答案 0 :(得分:3)

我认为你的意思是if(A() == 1) vs。:

var a = A();
if (a == 1)

答案很复杂,取决于优化设置,JIT版本,位数和CPU架构。

对于原始类型,通常没有区别。如果这是一个大型结构,可能会有所不同,特别是考虑到当前的JIT在优化结构时非常糟糕。