Introduzione alla libreria di classi .NET Framework

In .NET Framework sono inclusi classi, interfacce e tipi di valori che consentono di velocizzare e ottimizzare il processo di sviluppo e di accedere alle funzionalità di sistema. Per facilitare l'interoperabilità tra i linguaggi, i tipi di .NET Framework sono compatibili con CLS (Common Language Specification) e possono pertanto essere utilizzati da qualsiasi linguaggio di programmazione dotato di compilatore conforme a tale specifica.

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

  • 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 protezione 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. 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 generare 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 protezione, il caricamento e la visibilità in Common Language Runtime.

Per ulteriori informazioni sugli spazi dei nomi e sui nomi dei tipi, vedere Common Type System.

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 nella gerarchia dell'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 che segue sono elencati alcuni dei tipi di valori forniti da .NET Framework; per ogni tipo viene fornita una breve descrizione e viene indicato il tipo corrispondente in Visual Basic, in C# e nelle estensioni gestite per C++. La tabella include anche voci relative alle classi Object e String, per le quali sono disponibili parole chiave corrispondenti in numerosi linguaggi.

Categoria Nome di classe Descrizione Tipo di dati di Visual Basic Tipo di dati di C# Tipo di dati delle estensioni gestite per C++ Tipo di dati di JScript
Integer Byte Un valore integer senza segno a 8 bit. Byte byte char Byte
    SByte Un valore integer con segno a 8 bit.

Non compatibile con CLS.

SByte

Nessun tipo specifico fornito dal linguaggio.

sbyte char con segno SByte
    Int16 Un valore integer con segno a 16 bit. Short short short short
    Int32 Un valore integer con segno a 32 bit. Integer int int

oppure

long

int
    Int64 Un valore integer con segno a 64 bit. Long long __int64 long
    UInt16 Un valore integer senza segno a 16 bit.

Non compatibile con CLS.

UInt16

Nessun tipo specifico fornito dal linguaggio.

ushort unsigned short UInt16
    UInt32 Un valore integer senza segno a 32 bit.

Non compatibile con CLS.

UInt32

Nessun tipo specifico fornito dal linguaggio.

uint unsigned int

oppure

unsigned long

UInt32
    UInt64 Un valore integer senza segno a 64 bit.

Non compatibile con CLS.

UInt64

Nessun tipo specifico fornito dal linguaggio.

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 96 bit. Decimal decimal Decimal Decimal
    IntPtr Un numero 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 specifico fornito dal linguaggio.

IntPtr

Nessun tipo specifico fornito dal linguaggio.

IntPtr

Nessun tipo specifico fornito dal linguaggio.

IntPtr
    UIntPtr Un numero 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 compatibile con CLS.

UIntPtr

Nessun tipo specifico fornito dal linguaggio.

UIntPtr

Nessun tipo specifico fornito dal linguaggio.

UIntPtr

Nessun tipo specifico fornito dal linguaggio.

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 quasi 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, consultare 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

Common Type System | Riferimento a .NET Framework | Approfondimento di .NET Framework