我有像下面返回值
public List<aspnet_Roles> GetAllRoles()
{
var rolesList = _dbProfile.aspnet_Roles.ToList();
return rolesList;
}
的方法在该方法中,首先从数据库中的角色(LINQ到SQL)已被检索并分配给var
类型的变量rolesList
。
我想知道直接返回值是否更好,而不是先将其分配给其他变量,然后将其返回。
是对以下方法比上述更好的版本:
public List<aspnet_Roles> GetAllRoles()
{
return _dbProfile.aspnet_Roles.ToList();
}
将上述两种方法中IL编译为相同或第二版本是更好?第二个版本没有不必要的变量声明。
你为什么在意? – BoltClock 2011-02-10 12:22:38
我想,创建一个变量并赋值是额外的内存分配。相反,如果我们直接返回可能会,我不知道,这个内存分配到存储列表可以减少。我不知道这是我想知道的。我猜这一行_dbProfile.aspnet_Roles.ToList();已经分配给内存来存储返回的列表。再次,如果我们将它存储到另一个变量然后返回它,我想有双重内存分配。我不确定,请引导我。 –
nccsbim071
2011-02-10 12:26:38