Panoramica della libreria di classi .NET
Le API .NET includono classi, interfacce, delegati e tipi valore che accelerano e ottimizzano il processo di sviluppo e forniscono l'accesso alle funzionalità di sistema. Per facilitare l'interoperabilità tra i linguaggi, la maggior parte dei tipi .NET è conforme a CLS e può pertanto essere usata da qualsiasi linguaggio di programmazione dotato di compilatore conforme alle specifiche CLS.
I tipi .NET sono gli elementi fondamentali per la compilazione di applicazioni, componenti e controlli .NET. .NET include tipi che eseguono 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 .NET.
- 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 offre una vasta gamma di interfacce, nonché di classi astratte e concrete (non astratte). È possibile usare le classi concrete così come sono o, in molti casi, derivare le proprie classi da esse. Per avvalersi delle funzionalità di un'interfaccia è possibile creare, oppure derivare da una delle classi di .NET, una classe che consenta di implementare l'interfaccia.
Convenzioni di denominazione
Nei tipi .NET viene usato uno schema di denominazione che applica la sintassi con il punto per definire 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 punto più a destra, è il nome dello spazio dei nomi. L'ultima parte del nome è il nome del tipo. Ad esempio, System.Collections.Generic.List<T>
rappresenta il tipo List<T>
, che appartiene allo spazio dei nomi System.Collections.Generic
. I tipi in System.Collections.Generic possono essere utilizzati per lavorare con raccolte generiche.
Questo schema di denominazione semplifica l'estensione di .NET per gli sviluppatori di librerie per creare gruppi gerarchici di tipi e denominarli in modo coerente e informativo. 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 la seguente convenzione:
NomeSocietà.NomeTecnologia
Lo spazio dei nomi Microsoft.Word
, ad esempio, è conforme a questa convenzione.
L'uso di modelli di denominazione per raggruppare i tipi correlati in spazi dei nomi è un modo utile per compilare e documentare raccolte 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 altre informazioni sugli spazi dei nomi e sui nomi dei tipi, vedere Common Type System.
spazio dei nomi di sistema
Lo spazio dei nomi System è lo spazio dei nomi di primo livello per i tipi fondamentali in .NET. Questo spazio dei nomi include classi che rappresentano i tipi di dati di base usati da tutte le applicazioni, ad esempio ( Object radice della gerarchia di ereditarietà), Byte, Char, Array, Int32e String. Molti di questi tipi corrispondono ai tipi di dati primitivi utilizzati dal linguaggio di programmazione. Quando si scrive codice usando tipi .NET, è possibile usare la parola chiave corrispondente del linguaggio quando è previsto un tipo di dati di base .NET.
Nella tabella riportata di seguito sono elencati i tipi di base disponibili in .NET. con una breve descrizione di ogni tipo. Viene anche indicato il tipo corrispondente in Visual Basic, C#, C++, e F#.
Category | Nome di classe | Descrizione | Tipo di dati di Visual Basic | Tipo di dati di C# | Tipo di dati C++/CLI | Tipo di dati F# |
---|---|---|---|---|---|---|
Integer | Byte | Intero senza segno a 8 bit. | Byte |
byte |
unsigned char |
byte |
SByte | Numero 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 |
int16 |
|
Int32 | Intero con segno a 32 bit. | Integer |
int |
int o long |
int |
|
Int64 | Intero con segno a 64 bit. | Long |
long |
__int64 |
int64 |
|
UInt16 | Numero intero non firmato 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 o unsigned long |
uint32 |
|
UInt64 | Intero senza segno a 64 bit. Non conforme a CLS. |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
Virgola mobile | Half | Numero a virgola mobile a metà precisione (16 bit). | ||||
Single | Un numero a virgola mobile e precisione singola a 32 bit. | Single |
float |
float |
float32 o single |
|
Double | Un numero a virgola mobile e precisione doppia a 64 bit. | Double |
double |
double |
float o double |
|
Logico | 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 | Valore decimale (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). | nint |
unativeint |
|||
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. |
nuint |
unativeint |
|||
Object | Il primo livello della gerarchia di oggetti. | Object |
object |
Object^ |
obj |
|
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 altre informazioni sugli spazi dei nomi, usare il Browser API .NET per esplorare la libreria di classi .NET. La documentazione di riferimento delle API contiene informazioni su ogni spazio dei nomi, sui relativi tipi e membri.
Strutture di dati
.NET include un set di strutture di dati che rappresentano i cavalli di battaglia di molte app .NET. Si tratta principalmente di raccolte, ma sono inclusi anche altri tipi.
- Array - Rappresenta una matrice di oggetti fortemente tipizzati a cui è possibile accedere in base all'indice. Per struttura, ha una dimensione fissa.
- List<T>: rappresenta un elenco di oggetti fortemente tipizzati accessibile per indice. Viene ridimensionato automaticamente secondo le necessità.
- Dictionary<TKey,TValue>: rappresenta una raccolta di valori indicizzati da una chiave. I valori sono accessibili tramite chiave. Viene ridimensionato automaticamente secondo le necessità.
- Uri: fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI.
- DateTime: rappresenta un istante di tempo, in genere espresso come data e ora del giorno.
API di utilità
.NET include un set di API di utilità che offre funzionalità per molte attività importanti.
- HttpClient: un'API per inviare richieste HTTP e ricevere risposte HTTP da una risorsa identificata da un URI.
- XDocument - API per il caricamento e l'esecuzione di query su documenti XML con LINQ.
- StreamReader : Un'API per la lettura dei file.
- StreamWriter : Un'API per la scrittura dei file.
API modello di app
Esistono molti modelli di app che possono essere usati con .NET, ad esempio:
- ASP.NET : framework Web per la creazione di siti Web e servizi. Supportato in Windows, Linux e macOS (dipende dalla versione di ASP.NET).
- .NET MAUI : piattaforma app per la creazione di app native eseguite in Windows, macOS, iOS e Android usando C#.
- Windows Desktop: include Windows Presentation Foundation (WPF) e Windows Forms.
Vedi anche
.NET feedback
The .NET documentation is open source. Provide feedback here.
Commenti e suggerimenti
Invia e visualizza il feedback per