[70-536] Reference Types

Lesson 2

Reference Types

Chiaro e tondo, un reference type è diverso dal value type perchè viene memorizzato sullo stack il puntatore all'area di memoria dove è contenuto il valore da memorizzare. Il valore viene memorizzato nell'heap. Una copia di reference type comporta una copia del puntatore.

L'heap "subisce" un processo chiamato Garbage Collection per la pulizia dei valori non più utilizzati.

Sono reference type le stringhe, i tipi derivanti da Object ad eccezione dei value types, array, stream, StringBuilder ed Exception, oltre ad altri circa 2500 tipi.

Occhio alle stringhe che sono immutabili e come tali la concatenazione fatta in modo classico comporta la creazione di molte variabili. Per ottimizzare questo processo occorre far uso dei metodi specifici delle stringhe o di StringBuilder, mai il +=.

Anche gli array possiedono dei metodi specifici e quindi raramente bisognerà implementare le operazioni base.

Gli stream derivano da System.IO.Stream (ma sono presenti altri anche in System.Network.Socket e System.Security.Criptography). FileStream e MemoryStream i più utilizzati per operazioni su file e memoria rispettivamente.

Nulla da aggiungere sulle Exception: solita solfa su Try-Catch-Finally con particolare attenzione a "catchare" le eccezioni partendo da quelle più specifiche e passando via via a quelle più generiche.

 


Technorati tags:

Print | posted @ sabato 12 gennaio 2008 21:34

Comments have been closed on this topic.