Quindi, ho trovato una domanda simile here, ma le risposte riguardano più lo stile e se non si è in grado di farlo.Chiamare una funzione non vuoto senza utilizzare il suo valore di ritorno. Cosa succede realmente?
La mia domanda è, cosa succede in realtà quando si chiama una funzione non vuota che restituisce un oggetto, ma non si assegna o non si utilizza mai detto oggetto restituito? Quindi, meno se puoi o meno, perché so perfettamente che puoi e capisco l'altra domanda collegata sopra ... cosa fa l'ambiente compilatore/runtime?
Questa non è una domanda specifica per la lingua, ma se rispondi, specifica la lingua a cui ti riferisci, poiché i comportamenti saranno diversi.
Forse C# non è così intelligente, ma in questo esempio, il compilatore non dovrebbe integrare il metodo? Inoltre, quanto costa fare lo stack per una tale chiamata? Potresti notare una differenza se questa fosse ripetuta 250k volte, ma per la tua chiamata al metodo medio non perderei il sonno per un pop o due extra, a meno che tu non abbia mai usato il valore di ritorno ovunque nel codice. – KeithS
Ottima risposta, grazie! – DomenicDatti
@KeithS Mi stavo chiedendo quanto sia costoso, ma nel mio caso particolare non è una preoccupazione. Ho un metodo che esegue il caching dietro le quinte in più mappe ma restituisce anche l'elenco richiesto e un altro metodo che si basa sulla memorizzazione nella cache e restituisce un elenco diverso da una delle mappe memorizzate nella cache che genera il primo metodo. Supponevo di poter refactoring della generazione di mappe per renderlo più pulito ed evitare del tutto questo pop extra, se necessario. – DomenicDatti