Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Piccola info sulla dichiarazione di variabili
mercoledì 03 dicembre 2008 - 00.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Francesco141288
Profilo
| Newbie
14
messaggi | Data Invio:
mer 3 dic 2008 - 00:42
Ciao a tutti,
avrei bisogno di risolvere un piccolo dubbio sulla dichiarazione delle variabili. Cioè, se io dichiaro una qualsiasi variabile all'interno dell'evento tick di un timer per esempio, è un approccio efficiente? Nel senso, mi dimensiona la varibile ogni volta che esegue l'evento oppure una volta sola?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mer 3 dic 2008 - 06:51
Variabile locale, il suo "scope" è il blocco di istruzioni dove è stata dichiarata
Francesco141288
Profilo
| Newbie
14
messaggi | Data Invio:
mer 3 dic 2008 - 11:29
Sisi quello lo so, ma io chiedevo se metterla, per esempio, in un evento tick di un timer, è un approccio efficiente.
Nel senso, mi rialloca la variabile ad ogni tick oppure ne alloca un altra con lo stesso identificatore occupando sempre più memoria?
delama77
Profilo
| Junior Member
185
messaggi | Data Invio:
mer 3 dic 2008 - 16:36
>Sisi quello lo so, ma io chiedevo se metterla, per esempio, in
>un evento tick di un timer, è un approccio efficiente.
>Nel senso, mi rialloca la variabile ad ogni tick oppure ne alloca
>un altra con lo stesso identificatore occupando sempre più memoria?
Quando dichiaramo una variabile a livello di routine ( subroutine o funzione ), ogni volta che utilizziamo la funzione le variabili in esse dichiarate - al momento stesso della chiamata - vengono poste al loro valore predefinito ( che corrisponde allo zero per le variabili numeriche ed alla stringa vuota per le variabili stringa ).
Ci sono casi in cui è utile conservare il valore di una o più variabili tra le chiamate ad una funzione ed evitare che esse vengano riazzerate ad ogni chiamata della funzione stessa.
Per ottenere tale effetto, cioè conservare il valore di una variabile tra più chiamate ad una funzione, basta sostituire alla parola chiave Dim la parola chiave Static.
In questo modo facciamo sì che la variabile Numero non venga riazzerata ogni volta che la routine in cui è dichiarata viene eseguita.
Spero che la risposta ti possa servire
Ciao
Alessandra
sanbiz
Profilo
| Senior Member
208
messaggi | Data Invio:
mer 3 dic 2008 - 16:41
>Sisi quello lo so, ma io chiedevo se metterla, per esempio, in
>un evento tick di un timer, è un approccio efficiente.
Non vedo particolari contro-indicazioni anche se "efficiente" è molto generico.
>Nel senso, mi rialloca la variabile ad ogni tick oppure ne alloca
>un altra con lo stesso identificatore occupando sempre più memoria?
Come già specificato l'area di visibilità di una variabile è circoscritta a livello del blocco in cui viene dichiarata, in questo caso è relativa all'evento tick dell'oggetto timer.
Come per ogni altra funzione, nel momento in cui si esce dal proprio blocco di visibilità, la variabile viene "automaticamente" deallocata. Quindi la risposta alla tua domanda è "NO la memoria non crescerà ad ogni tick".
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !