![]() |
Creato da MarcOvermars il 15/09/2008
appunti pubblici tratti da http://msdn.microsoft.com
|
Area personale
- Login
Tag
Cerca in questo Blog
Menu
Chi può scrivere sul blog
Solo l'autore può pubblicare messaggi in questo Blog e tutti gli utenti registrati possono pubblicare commenti.
« Main() | Matrici » |
Tipi di dati
Post n°2 pubblicato il 15 Settembre 2008 da MarcOvermars
Casting:
il Cast richiama espicitamente la conversione da un tipo ad un altro tipo
la conversione infatti può essere implicita:
int i = 10;
float f = 0;
f = i;
oppure esplicita utilizzando il Cast
double x = 1234.7;
int a;
a = (int)x;
System.Console.WriteLine(a);
Boxing e unboxing :
Consentono di gestire i tipi di valore come oggetti.
Il boxing di un tipo di valore consente di assemblarlo all'interno di
un'istanza del tipo di riferimento Object e quindi di archiviarlo nell'heap
sottoposto a Garbage Collection ( non è più possibile richiedere
esplicitamente di liberare la memoria utilizzata da un oggetto,
ovvero terminare tale oggetto in modo deterministico,ma si lascia
che il sistema esegua questa operazione automaticamente, nel momento
in cui lo riterrà più opportuno per migliorare le prestazioni complessive )
int i = 123;
object o = (object)i; // boxing
o = 123;
i = (int)o; // unboxing dalla classe object
Rispetto alle semplici assegnazioni, il boxing e l'unboxing sono
processi onerosi dal punto di vista del calcolo. Il boxing di un tipo
di valore comporta infatti l'allocazione e la costruzione di un oggetto
completamente nuovo. A un livello inferiore, anche il cast richiesto
per l'unboxing è oneroso dal punto di vista del calcolo.
![]() |