我有一个类似下面的方法
public List<aspnet_Roles> GetAllRoles()
{
var rolesList = _dbProfile.aspnet_Roles.ToList();
return rolesList;
}在此方法中,首先从数据库(LINQ to SQL)中检索所有角色,并将其分配给var类型的变量rolesList。
我想知道直接返回值是否比先将其赋值给其他变量再返回更好。
下面的方法比上面的版本更好:
public List<aspnet_Roles> GetAllRoles()
{
return _dbProfile.aspnet_Roles.ToList();
}以上两种方法是在IL中编译成相同的版本还是第二个版本更好?第二个版本没有不必要的变量声明。
发布于 2011-02-10 20:23:54
我很有信心(尽管我还没有检查过),这些代码将编译成相同的IL。C#编译器是智能的。
第一个版本的优点是它使断点和返回值检查变得更容易。
当然,第二个版本更简洁。
这取决于你喜欢哪一个,这里没有客观的“更好”。
发布于 2011-02-10 20:24:16
第一个方法将帮助您进行调试。现在,AFAIK,没有办法在调试时观察方法的返回值。
除此之外,没有什么不同。
https://stackoverflow.com/questions/4956997
复制相似问题