Ho un metodo come di seguito
public List<aspnet_Roles> GetAllRoles()
{
var rolesList = _dbProfile.aspnet_Roles.ToList();
return rolesList;
}
In questo metodo, prima tutti i ruoli dal database (LINQ a SQL) sono stati recuperati e assegnati a una variabile rolesList
di tipo var
.
Voglio sapere se restituire direttamente il valore è migliore invece di assegnarlo prima ad altre variabili e poi restituirlo.
Il seguente metodo è migliore rispetto alla versione precedente:
public List<aspnet_Roles> GetAllRoles()
{
return _dbProfile.aspnet_Roles.ToList();
}
I due metodi precedenti compileranno in IL come versione uguale o seconda è meglio? La seconda versione non ha la dichiarazione di variabili non necessarie.
risposte:
2 per risposta № 1Sono fiducioso (anche se non ho verificato) che questi si compilino con lo stesso IL. Il compilatore C # è intelligente.
Il vantaggio della prima versione è che rende più facile il breakpoint e controlla il valore prima di tornare.
La seconda versione è più succinta, ovviamente.
Dipende da te che preferisci, non esiste un obiettivo "migliore" qui.
6 per risposta № 2
Il primo metodo ti aiuterà con il debug. Al momento, AFAIK, non c'è modo di vedere il valore di ritorno di un metodo durante il debug.
Oltre a questo, non c'è differenza.