Sono abituato ai linguaggi di scripting. PHP, Javascript ecc. E ho scritto alcune applicazioni Java e C# relativamente semplici. Questa è una domanda per cui ho più volte avuto bisogno di una risposta, e immagino di non essere l'unica.Come posso mantenere i dati senza variabili globali?
Diciamo che sono in Javascript.
Ho la funzione A(), chiamata dalla GUI, che recupera qualche valore.
La funzione B(), chiamata anche dalla GUI, richiede tale valore, ma la funzione B() verrà chiamata un numero arbitrario di volte, una lunghezza arbitraria di tempo dopo A().
Non desidero A() ricalcolare il valore ogni volta.
Un esempio sono le credenziali di accesso. A() richiede un nome utente e B() usa quel valore per aggiungere un log ogni volta che viene chiamato.
Per questo probabilmente utilizzerei solo una variabile globale.
Ora, C#. Nessuna variabile globale! Come dovrei fare questo?
Modifica: Godere delle risposte, ma ci sono molti commenti "prova a non usare globali". Che capisco, ma mi piacerebbe sentire i modelli alternativi per questo requisito.
Si potrebbe prendere in considerazione la lettura di "memoization", che è il nome per la tecnica generale di ricordare quale era l'output di una funzione e riutilizzarla in seguito senza ricalcolarla. Esistono molte tecniche interessanti per la memoizzazione efficiente. –