Ti stai confondendo col c++, in c# non esiste l'operatore delete ma viene gestito dalla garbage collection e tramite Dispose() puoi liberare delle risorse(Bitmaps,Sockets,etc...) mentre con GC.Collect() puoi forzare questo processo. In c# di solito non ricevi mai la memoria direttamente allocata da new ma quella che ti passa il GC o il metodo nativo, ad esempio se allochi tramite Marshal dovrai liberare il puntatore sempre tramite Marshal, in pratica non hai mai un accesso diretto alla memoria perché sei in un ambiente managed(con unsafe al massimo puoi gestire i puntatori).


Rispondi quotando