Contenuto di un programma C# (Visual C#)
Aggiornamento: novembre 2007
Per comprendere il funzionamento di un programma C#, è utile esaminare il programma tradizionale "Hello World!", analizzando ciascuna riga di codice C#. Per creare una versione personalizzata di questo programma, vedere l'argomento Procedura: creare un'applicazione console C# in cui è presentata una guida passo passo alla scrittura, la compilazione e l'esecuzione di un'applicazione C# analoga.
Hello World, tipo C#
Nel linguaggio C# le classi vengono utilizzate per organizzare e creare package di codice. Di fatto tutto il codice C# eseguibile deve essere contenuto in una classe, anche nel caso di un programma breve come "Hello World!" Di seguito è riportato il programma completo che consente di visualizzare "Hello World!" nella finestra della console.
// A Hello World! program in C#
using System;
namespace HelloWorld
{
class Hello
{
static void Main()
{
System.Console.WriteLine("Hello World!");
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
Spazi dei nomi e direttive using
Quando si crea un'applicazione console con Visual C# Express Edition, le prime righe nell'editor di codice contengono direttive using che elencano vari spazi dei nomi .NET Framework. Uno spazio dei nomi consente di raggruppare classi e strutture in modo da limitarne l'ambito ed evitare conflitti di nomi con altre classi e strutture. Quando si crea un programma in Visual C# Express, viene automaticamente creato uno spazio dei nomi. Per utilizzare nel programma classi di altri spazi dei nomi, è necessario specificarle con una direttiva using. Per impostazione predefinita, gli spazi dei nomi più comunemente utilizzati in .NET Framework vengono elencati quando si crea una nuova applicazione. Se si utilizzano classi di altri spazi dei nomi inclusi nella libreria di classi, è necessario aggiungere nel file di origine una direttiva using per tale spazio dei nomi. Per ulteriori informazioni sugli spazi dei nomi, vedere Spazi dei nomi (Visual C# Express).
Quando nell'editor di codice viene rilevato che è stata dichiarata una classe o una struttura non trovata negli spazi dei nomi elencati nelle direttive using correnti, verranno indicati spazi dei nomi che contengono la classe o la struttura.
Commenti
Dopo le istruzioni using, la riga successiva contiene un commento. I commenti sono utili per inserire note personali o per altri programmatori.
// A Hello World! program in C#
I caratteri // convertono il resto della riga in un commento. È anche possibile commentare un blocco di testo posizionandolo tra i caratteri /* e */, come nel seguente esempio:
/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */
È inoltre possibile utilizzare un'opzione di formattazione per commentare automaticamente il codice. Per ulteriori informazioni, vedere la classe Procedura: impostare righe di codice come commento (C# Express).
Classi
Il linguaggio C# utilizza classi per creare un package di codice: tutto il codice C# eseguibile deve essere contenuto in una classe. Per ulteriori informazioni, vedere Classi (Visual C# Express).
Main()
- Il programma in C# deve contenere un metodo Main, nel quale il controllo ha inizio e fine. Il metodo Main è il metodo in cui si creano oggetti e si eseguono altri metodi. Il metodo Main è di tipo static e si trova all'interno di una classe o di una struttura. Nell'esempio di "Hello World!" si trova all'interno della classe Program .
Il metodo Main può essere definito in uno dei modi riportati di seguito:
Può restituire void:
static void Main() { //... }
Può inoltre restituire un tipo int:
static int Main() { //... return 0; }
Può accettare argomenti, utili per la scrittura di utilità da riga di comando:
static void Main(string[] args) { //... }
-oppure-
static int Main(string[] args) { //... return 0; }
Il parametro del metodo Main è una matrice di tipo string che rappresenta gli argomenti della riga di comando utilizzati per richiamare il programma. Si noti che, diversamente da C++, tale matrice non include il nome del file eseguibile (.exe). Per ulteriori informazioni, vedere la classe Main() e gli argomenti della riga di comando (Guida per programmatori C#).
Input e output della console
Nei programmi di console in C# vengono in genere utilizzati i servizi di input/output forniti dalla classe Console di .NET Framework. L'istruzione Console.WriteLine("Hello, World!");, in cui viene utilizzato il metodo WriteLine, consente di visualizzare il parametro di tipo stringa nella finestra della riga di comando seguito da una nuova riga. Per diverse operazioni di input e output si utilizzano altri metodi Console. La classe Console è un membro dello spazio dei nomi System. Se l'istruzione using System; non è stata inclusa all'inizio del programma, sarà necessario specificare le classi System nel modo seguente:
System.Console.WriteLine("Hello World!");
Il metodo WriteLine è molto utile e verrà utilizzato spesso per la scrittura di applicazioni console.
WriteLine può visualizzare stringhe:
Console.WriteLine("Hello World!");
WriteLine può anche visualizzare numeri:
int x = 42;
Console.WriteLine(x);
Se è necessario visualizzare vari elementi, utilizzare {0} per rappresentare il primo elemento, {1} per il secondo e così via, come illustrato di seguito:
int year = 1066;
string battle = "Battle of Hastings";
Console.WriteLine("The {0} took place in {1}.", battle, year);
L'output risulterà simile al seguente:
The Battle of Hastings took place in 1066.
Vedere anche
Attività
Procedura: creare un'applicazione console C#