Oppure

Loading
08/02/10 21:02
GhezaSh
Ciao sto studiando vb.net e nn capisco la differenzia tra

Dim A as New Object
e
Dim A as Object

Mi potete aiutare??????


Grazie attendo risposta XD XD
aaa
09/02/10 0:14
macar1990
Fondamentalmente l'espressione "Dim A as Object" rappresenta la dichiarazione di una semplice variabile di tipo Object; "Dim A as new Object" crea invece un vero e proprio oggetto, associato alla variabile "A".
Prendendo un esempio da Microsoft msdn (che contiene tantissime info utili):
"Dim Button1 As System.Windows.Forms.Button
" --> dichiara una variabile oggetto che può contenere un riferimento a un oggetto pulsante.
"Dim Button2 As New System.Windows.Forms.Button()
" --> definisce una variabile che può contenere un oggetto pulsante, ma la parola chiave New crea un oggetto pulsante e lo assegna alla variabile Button2.

Ultima modifica effettuata da macar1990 09/02/10 0:15
aaa
09/02/10 8:58
Il Totem
E' corretto. Più nello specifico, la prima (dichiarazione) alloca 4 bytes di memoria che contengono un indirizzo nullo. La seconda (inizializzazione) alloca comunque 4 bytes, i quali contengono l'indirizzo di memoria in cui si trovano i dati dell'oggetto, dati che vengono creati anch'essi con l'utilizzo di New.
E' per questo che se usi A dopo la prima dichiarazione avrai un errore del tipo "Null reference exception", proprio perchè A contiene un indirizzo nullo, ossia non punta ad alcun dato e perciò il suo contenuto non esiste: l'oggetto non esiste.
Se invece utilizzi A dopo averla inizializzata con New, questa eccezione non viene generata.
Ultima modifica effettuata da Il Totem 09/02/10 9:00
aaa