[70-536] Value Types

Lesson 1

Value Types

I value types costituiscono il più semplice dato del Framework e derivano da System.Object come tutti i tipi di dato in .Net. Vengono allocati nello stack e per questo sono molto efficienti. Contengono il dato a differenza dei reference types.

Sono di tre tipi:

  • Built in value types
  • User defined value types
  • Enumerations

I primi sono i tipi di base come byte, int (entrambi anche unsigned), int16-32-64, single, double e decimal. I più diffusi vista l'ottimizzazione presente sono gli int32 e i double. A questi si aggiungono char, boolean, datetime e intptr (puntatori).

Primo errore sul libro (pag. 5): il tipo Boolean occupa 1 byte e non 4 bytes!

In caso di assegnamenti tra variabili value types viene effettuata una copia del valore.

A questi dati dal Framework 2.0 si aggiungono i relativi Nullable definiti come

Nullable<bool> b = null;

 o

bool? b = null;

con notazione abbreviata (in C#).

I secondi sono i dati di tipo struct, ovvero composizioni di value types, molto semplici (in genere sotto i 16 bytes) come Point. Non devono essere castabili a Reference Types e non cambiano dopo la creazione.

I terzi permettono di utilizzare delle parole al posto degli int e definiscono quindi degli insiemi di possibilità.


Technorati tags:

Print | posted @ sabato 12 gennaio 2008 01:03

Comments on this entry:

Gravatar # re: [70-536] Value Types
by Simone at 13/01/2008 00:45

k
Comments have been closed on this topic.