Valori di ritorno - c #

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 № 1

Sono 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.