Condividi tramite


C# e .NET Framework

Aggiornamento: novembre 2007

Il linguaggio di programmazione C# è stato sviluppato in modo da garantire prestazioni elevate, un ambiente protetto e facilità d'uso. Nell'ambito dell'iniziativa .NET, C# è stato realizzato anche allo scopo di interagire con .NET Framework, introducendo un nuovo modo di scrivere software affidabile per qualunque tipo di sistema, dai server più veloci ai dispositivi mobili più piccoli.

A differenza del tradizionale codice C e C++, il codice C# non viene compilato direttamente nel linguaggio macchina. Il compilatore di C# converte il codice sorgente C# in file MSIL (Microsoft Intermediate Language), denominati assembly. Questi file vengono creati da tutti i linguaggi basati su Common Language Runtime (CLR), inclusi Visual C++, che può consentire anche la creazione di codice macchina nativo, Visual J# e Visual Basic. Infatti, il codice MSIL prodotto è nella maggior parte dei casi praticamente identico da un linguaggio all'altro, il che consente di combinare facilmente diversi componenti di programma scritti con linguaggi diversi.

Nel seguente diagramma viene illustrata la procedura di conversione del codice C# scritto in un'applicazione eseguibile:

Dal codice C# all'esecuzione nel computer

I file MSIL sono simili a file exe o dll standard. Tuttavia, anziché essere eseguiti direttamente sulla piattaforma Windows, vengono eseguiti da CLR. CLR compila il programma MSIL in codice macchina quando necessario, utilizzando un processo denominato compilazione JIT (Just-In-Time). Questo codice macchina viene poi eseguito direttamente. La generazione di codice intermedio, non destinato ad alcun tipo specifico di hardware e da convertire in codice macchina solo all'ultimo momento contribuisce ad aumentare il livello di protezione e portabilità. Questo processo è quasi interamente nascosto al programmatore. I programmi C# vengono compilati, eseguiti e distribuiti come qualsiasi altro programma. Purché nel computer sia installato .NET Framework, il programma C# verrà eseguito come una qualsiasi altra applicazione.

È inoltre importante notare che in alcuni casi è preferibile convertire in modo permanente un assembly C# in linguaggio macchina tramite lo strumento Generatore di immagini native (ngen.exe) incluso in Visual Studio.

In quanto linguaggio progettato unitamente a .NET Framework, C# è particolarmente adatto per lo sviluppo in .NET Framework. La libreria di classi di .NET Framework è costituita da un vasto insieme di classi in grado di fornire alle applicazioni tutto quanto necessario per lo sviluppo di applicazioni, ad esempio la funzionalità di visualizzazione di testo ed elementi grafici, insiemi per l'archiviazione dei dati, strumenti per la modifica dei database e dei file XML, metodi per l'accesso ai siti Web e altro ancora.

In .NET Framework le funzionalità sono organizzate in base agli spazi dei nomi, ciascuno dei quali contiene diverse classi. Lo spazio dei nomi System.IO include ad esempio molte classi per la lettura e la scrittura di file, mentre lo spazio dei nomi System.Text contiene molte classi per la gestione dei dati di tipo stringa. Sfogliare la documentazione di riferimento della libreria di classi .NET Framework per ottenere informazioni sui diversi spazi dei nomi disponibili e sul relativo contenuto.

Argomenti correlati

Vedere anche

Attività

Procedura: generare un'applicazione C# in 60 secondi

Concetti

Funzionalità di Visual C# Express

Riferimenti

Confronto tra C# e altri linguaggi

Altre risorse

Visual C# Express

Guida introduttiva a Visual C# Express