Cenni preliminari sulla libreria di classi .NET Framework

.NET Framework include classi, interfacce e tipi di valore che consentono di ottimizzare il processo di sviluppo rendendolo più rapido e che forniscono accesso alle funzionalità di sistema. Per facilitare l'interoperabilità tra i linguaggi, la maggior parte dei tipi .NET Framework è compatibile con la specifica CLS (Common Language Specification) e può pertanto essere utilizzata da qualsiasi linguaggio di programmazione dotato di compilatore conforme a tale specifica.

I tipi di .NET Framework rappresentano gli elementi fondamentali per la compilazione di applicazioni, componenti e controlli .NET. In .NET Framework sono inclusi tipi che consentono di eseguire le funzioni seguenti:

  • Rappresentare tipi di dati ed eccezioni di base.

  • Incapsulare strutture di dati.

  • Eseguire I/O.

  • Accedere a informazioni su tipi caricati.

  • Richiamare i controlli di sicurezza di .NET Framework.

  • Offrire l'accesso ai dati, un'elaborata interfaccia GUI (Graphical User Interface, interfaccia grafica utente) per il lato client e una GUI per il lato client controllata dal server.

.NET Framework offre una vasta gamma di interfacce, nonché di classi astratte e concrete (non astratte). È possibile utilizzare le classi concrete così come sono oppure, in molti casi, derivare da esse classi personalizzate. Per avvalersi delle funzionalità di un'interfaccia è possibile creare, oppure derivare da una delle classi di .NET Framework, una classe che consenta di implementare l'interfaccia.

Convenzioni di denominazione

Nei tipi di .NET Framework è utilizzato uno schema di denominazione con sintassi a punti che definisce una gerarchia. Secondo questa tecnica i tipi correlati vengono raggruppati in spazi dei nomi, in modo da semplificarne le ricerche e i riferimenti. La prima parte del nome completo, fino al primo punto da destra, è il nome dello spazio dei nomi. L'ultima parte del nome è il nome del tipo. System.Collections.ArrayList, ad esempio, rappresenta il tipo ArrayList, appartenente allo spazio dei nomi System.Collections. I tipi di System.Collections possono essere utilizzati per manipolare insiemi di oggetti.

Questo schema di denominazione è vantaggioso per gli sviluppatori di librerie che desiderano estendere .NET Framework poiché consente di creare gruppi gerarchici di tipi e denominarli in modo coerente utilizzando nomi di immediata comprensione. Consente inoltre l'identificazione non ambigua dei tipi mediante il relativo nome completo, ovvero mediante il relativo spazio dei nomi e nome di tipo, in modo da evitare conflitti tra i nomi di tipo. Nella denominazione degli spazi dei nomi è opportuno che gli sviluppatori di librerie rispettino il seguente schema:

NomeSocietà.NomeTecnologia

Lo spazio dei nomi Microsoft.Word, ad esempio, è conforme a questa convenzione.

Il ricorso a schemi di denominazione per raggruppare dei tipi correlati all'intero di spazi dei nomi è un metodo estremamente utile per compilare e documentare librerie di classi. Questo schema di denominazione non ha tuttavia alcun effetto sulla visibilità, sull'accesso ai membri, sull'ereditarietà, sulla sicurezza o sull'associazione. Gli spazi dei nomi possono essere ripartiti tra più assembly e un singolo assembly può contenere tipi provenienti da spazi dei nomi differenti. L'assembly fornisce la struttura formale per la creazione di versioni successive, la distribuzione, la sicurezza, il caricamento e la visibilità in Common Language Runtime.

Per ulteriori informazioni sugli spazi dei nomi e sui nomi dei tipi, vedere Sistema di tipi comuni.

Spazio dei nomi System

Lo spazio dei nomi System è lo spazio dei nomi di primo livello per i tipi fondamentali di .NET Framework. Questo spazio dei nomi include classi che rappresentano i tipi di dati di base utilizzati da tutte le applicazioni: Object (il primo livello della gerarchia di ereditarietà), Byte, Char, Array, Int32, String e così via. Molti di questi tipi corrispondono ai tipi di dati primitivi utilizzati dal linguaggio di programmazione. Quando si scrive il codice utilizzando tipi di .NET Framework è possibile utilizzare la corrispondente parola chiave del linguaggio utilizzato dove è previsto un tipo di dati di base di .NET Framework.

Nella tabella riportata di seguito sono elencati i tipi di base disponibili in .NET Framework con una breve descrizione di ciascun tipo e viene inoltre indicato il tipo corrispondente in Visual Basic, C#, C++ e JScript.

Categoria

Nome di classe

Descrizione

Tipo di dati di Visual Basic

Tipo di dati di C#

Tipo di dati C++

Tipo di dati di JScript

Integer

Byte

Intero senza segno a 8 bit.

Byte

byte

unsigned char

Byte

   

SByte

Intero con segno a 8 bit.

Non conforme a CLS.

SByte

sbyte

char

-o-

signed char

SByte

   

Int16

Intero con segno a 16 bit.

Short

short

short

short

   

Int32

Intero con segno a 32 bit.

Integer

int

int

-o-

long

int

   

Int64

Signed Integer a 64 bit.

Long

long

__int64

long

   

UInt16

Intero senza segno a 16 bit.

Non conforme a CLS.

UShort

ushort

unsigned short

UInt16

   

UInt32

Intero senza segno a 32 bit.

Non conforme a CLS.

UInteger

uint

unsigned int

-oppure-

unsigned long

UInt32

   

UInt64

Intero senza segno a 64 bit.

Non conforme a CLS.

ULong

ulong

unsigned __int64

UInt64

A virgola mobile

Single

Un numero a virgola mobile e precisione singola a 32 bit.

Single

float

float

float

   

Double

Un numero a virgola mobile e precisione doppia a 64 bit.

Double

double

double

double

Logica

Boolean

Un valore Boolean (true o false).

Boolean

bool

bool

bool

Altro

Char

Un carattere Unicode a 16 bit.

Char

char

wchar_t

char

   

Decimal

Un valore decimale a 128 bit.

Decimal

decimal

Decimal

Decimal

   

IntPtr

Un intero con segno la cui dimensione dipende dalla piattaforma sottostante (un valore a 32 bit su una piattaforma a 32 bit e un valore a 64 bit su una piattaforma a 64 bit).

IntPtr

Nessun tipo incorporato.

IntPtr

Nessun tipo incorporato.

IntPtr

Nessun tipo incorporato.

IntPtr

   

UIntPtr

Un intero senza segno la cui dimensione dipende dalla piattaforma sottostante (un valore a 32 bit su una piattaforma a 32 bit e un valore a 64 bit su una piattaforma a 64 bit).

Non conforme a CLS.

UIntPtr

Nessun tipo incorporato.

UIntPtr

Nessun tipo incorporato.

UIntPtr

Nessun tipo incorporato.

UIntPtr

Oggetti Class

Object

Il primo livello della gerarchia di oggetti.

Object

object

Object*

Object

   

String

Una stringa di caratteri Unicode immutabile e a lunghezza fissa.

String

string

String*

String

Oltre ai tipi di dati di base, lo spazio dei nomi System contiene oltre 100 classi, da quelle che gestiscono le eccezioni a quelle correlate a concetti fondamentali della fase di esecuzione, quali i domini di applicazione e Garbage Collector. Lo spazio dei nomi System contiene inoltre numerosi spazi dei nomi di secondo livello..

Per ulteriori informazioni sugli spazi dei nomi, vedere Riferimento a .NET Framework. Nella documentazione di riferimento viene fornita una breve panoramica di ciascuno spazio dei nomi nonché una descrizione formale di ogni tipo e dei relativi membri.

Vedere anche

Concetti

Common Type System

Altre risorse

Riferimento a .NET Framework

Cenni preliminari su .NET Framework