将方法结果赋值给变量

本文关键字:变量 赋值 结果 方法 | 更新日期: 2023-09-27 18:12:39

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

例如:

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

仍然会使用与

相同的内存量:
public int A()
{
    ...
    return a;
}
int a = A();
if(a == 1)
...

我知道差异相对较小,但是如果我在不同的大字节数组上执行很多函数,我应该尝试这样做吗?

将方法结果赋值给变量

我想你指的是if(A() == 1) vs.

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

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

对于基本类型,通常没有区别。如果这是一个大型结构体,则可能会有所不同,特别是考虑到当前的jit在优化结构体方面非常糟糕。