Un primo programma in C#

In questa lezione iniziamo ad entrare nel vivo della programmazione C# realizzando un semplice programma che mostra un messaggio su console, il classico Hello World o Ciao Mondo. Questo programma, anche se molto semplice, ci permetterà di conoscere i blocchi fondamentali da cui un programma C# è costituito.

Hello World

Iniziamo subito il nostro percorso nell'imparare C# realizzando un semplice programma. Quando si impara un nuovo linguaggio è fondamentale sempre mettere in pratica ciò che si apprende con la teoria. Per questo motivo vi invito a copiare i programmi che troverete nel corso della guida, compilarli, modificarli ed eseguirli.

Questo primo programma stampa un semplice messaggio, "Hello, World!" sulla console:

using System;

namespace hello
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Prima di entrare nel dettaglio della sua composizione, proviamo prima a compilare il nostro programma.

Compilare Hello World sotto Windows

Sotto Windows abbiamo a disposizione vari modi per compilare il nostro primo programma.

Compilatore per .NET Framework csc

Il primo modo consiste nell'utilizzare il compilatore .NET framework csc (che sta per C# Compiler) e invocarlo dal prompt dei comandi. Per poterlo invocare correttamente bisogna impostare le necessarie variabili d'ambiente. Per questo motivo, quando si installa Visual Studio, nel menu Start di Windows è possibile trovare dei collegamenti già pronti per l'avvio del prompt dei comandi con le variabili pre-impostate.

Ad esempio, se abbiamo installato Visual Studio 2019, possiamo invocare il collegamento x64 Native Tools Command Prompt for VS 2019 come mostrato nella figura seguente:

Collegamento al prompt dei comandi con i tool di visual studio

Figura 1: Collegamento al prompt dei comandi con i tool di visual studio

Questo collegamento aprirà una finestra del prompt pre-impostata con i tool di Visual Studio 2019 per compilare programmi a 64 bit per Windows. Se vogliamo compilare, invece, programmi a 32 bit, possiamo invocare invece x86 Native Tools Command Prompt for VS 2019.

Premendo sul collegamento apparirà la finestra seguente:

Visual Studio 2019 Developer Command Promp

Figura 2: Visual Studio 2019 Developer Command Promp

A questo punto, per compilare il nostro programma, bisogna dapprima salvare il codice in un file, ad esempio hello.cs. Dal prompt, andiamo nella cartella in cui l'abbiamo salvato, dopodiché possiamo invocare il comando csc hello.cs:

Compilazione di <code>hello.cs</code> con <code>csc</code>

Figura 3: Compilazione di hello.cs con csc

Il nostro programma è ora pronto. Infatti, il compilatore non ha riportato nessun errore e se eseguiamo il comando dir troveremo un nuovo file: hello.exe:

Risultato della compilazione di <code>hello.cs</code>

Figura 4: Risultato della compilazione di hello.cs

A questo punto possiamo eseguire il nostro programma, come mostrato di seguito:

Esecuzione del programma <code>hello.cs</code>

Figura 5: Esecuzione del programma hello.cs

Compilazione con .NET Core utility dotnet

Sotto Windows è possibile compilare il nostro programma utilizzando l'utility dotnet. Attraverso questa utility, il nostro programma verrà compilato per la piattaforma .NET Core.

In questo caso, non è necessario avviare il prompt dei comandi con i tool di sviluppo pre-impostati. Quando installiamo Visual Studio, infatti, di default viene impostata questa utility nel path in maniera tale da poterla invocare a piacimento. I passi da seguire sono, tuttavia, differenti.

Per prima cosa, bisogna aprire il terminale del prompt e scegliere una locazione in cui creare il nostro programma. Nell'esempio seguente, ho scelto di salvare il progetto nella cartella Y:\work. A questo punto basta invocare l'utility indicando il nome del progetto e il tipo di applicazione. Nel nostro caso basterà eseguire il comando: dotnet new console -n hello:

Creazione del progetto hello con l'utility <code>dotnet</code>

Figura 6: Creazione del progetto hello con l'utility dotnet

Come è possibile osservare dalla figura precedente, attraverso il comando dotnet new console -n hello, verrà creata una cartella hello che contiene al suo interno diversi file. Ciò che ci interessa in particolare è il file Program.cs che contiene il codice che verrà compilato. Se apriamo questo file con un editor qualsiasi, ad esempio Visual Studio Code, vedremo che il file ha il seguente contenuto:

using System;

namespace hello
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Ossia, il programma Hello World già pronto.