【发布时间】:2017-07-28 07:55:25
【问题描述】:
两者之间是否有任何区别(性能方面):
public User GetUser1()
{
var user = _database.User.First();
return user;
}
public User GetUser2()
return _database.User.First();
}
【问题讨论】:
-
编译器无疑会立即优化变量,为两种方法生成相同的 IL。因此,直接回答您的问题,两者之间没有性能差异。
-
您可以通过使用
ildasm将编译后的可执行文件转换为文本来亲自查看。见这里:stackoverflow.com/a/7232029 -
附带说明:从调试的角度来看,我更喜欢选项 1,因为我经常在单步执行时检查项目。
-
@itsme86 这就是我想听到的。非常感谢。
-
@StevePy 就像我一样,我总是更喜欢选项 1,这就是我想知道的,它是否坏。
标签: c#