Hello World -- Il primo programma (Guida per programmatori C#)
Aggiornamento: novembre 2007
Il seguente programma di console è la versione in C# del tradizionale programma "Hello World!", che visualizza la stringa Hello World!.
// 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();
}
}
}
Verranno ora esaminate singolarmente le parti importanti di questo programma.
Commenti
La prima riga contiene un commento:
// A Hello World! program in C#
I caratteri // convertono il resto della riga in un commento. È anche possibile commentare un blocco di testo racchiudendolo tra i caratteri /* e */, come nel seguente esempio:
/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */
Metodo 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 struct. Nel precedente esempio di "Hello World!" si trova all'interno della classe Hello. Dichiarare il metodo Main in uno dei modi seguenti:
Può restituire void:
static void Main() { //... }
Può anche restituire un int:
static int Main() { //... return 0; }
Con entrambi i tipi restituiti, può accettare argomenti:
static void Main(string[] args) { //... }
-oppure-
static int Main(string[] args) { //... return 0; }
Il parametro del metodo Main è una matrice 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).
La chiamata a ReadKey alla fine del metodo Main impedisce la chiusura della finestra della console e consente quindi di leggere l'output quando si effettua l'esecuzione in modalità di debug premendo F5.
Per ulteriori esempi sull'utilizzo degli argomenti della riga di comando, vedere l'esempio riportato in Main() e gli argomenti della riga di comando (Guida per programmatori C#) e Procedura: creare e utilizzare DLL C# (Guida per programmatori C#).
Input e output
In genere nei programmi C# vengono utilizzati i servizi di input/output forniti dalla libreria di runtime di .NET Framework. L'istruzione System.Console.WriteLine("Hello World!"); utilizza il metodo WriteLine, uno dei metodi di output della classe Console nella libreria di runtime. e visualizza il parametro di tipo stringa sul flusso di output standard seguito da una nuova riga. Per diverse operazioni di input e output si utilizzano altri metodi Console. Se si include la direttiva using System; all'inizio del programma, è possibile utilizzare direttamente i metodi e le classi System senza assegnare loro nomi completi. È ad esempio possibile chiamare Console.WriteLine senza specificare System.Console.Writeline:
using System;
Console.WriteLine("Hello World!");
Per ulteriori informazioni sui metodi di input/output, vedere System.IO.
Compilazione ed esecuzione
È possibile compilare il programma "Hello World!" creando un progetto nell'ambiente di sviluppo integrato (IDE, Integrated Development Environment) di Visual Studio o utilizzando la riga di comando. Utilizzare il prompt dei comandi di Visual Studio o richiamare vsvars32.bat per inserire l'insieme di strumenti di Visual C# nel percorso del prompt dei comandi.
Per compilare il programma dalla riga di comando:
Creare il file d'origine utilizzando un editor di testo e salvarlo assegnando a esso un nome, ad esempio Hello.cs. I file del codice sorgente C# utilizzano l'estensione .cs.
Per richiamare il compilatore, immettere il comando:
csc Hello.cs
Se il programma non contiene alcun errore di compilazione, verrà creato un file Hello.exe.
Per eseguire il programma, immettere il comando:
Hello
Per ulteriori informazioni sul compilatore C# e sulle relative opzioni, vedere Opzioni del compilatore C#.