Il codice
Una delle prime cose da fare per prendere confidenza con un nuovo linguaggio di programmazione è certamente l’analisi del codice del classico “Hello, World!”.
Bene, eccolo qua.
1: using System; 2: 3: class HelloWorld 4: { 5: public static void Main() 6: { 7: Console.WriteLine(“Hello, World!”); 8: } 9: }
Si tratta certamente di codice molto semplice, vediamo di analizzarlo meglio.
Le linee di codice
Innanzi tutto è necessario dire che ogni istruzione deve terminare con un punto e virgola.
Vediamo nel dettaglio il significato di ogni singola linea di codice:
1: using System;
La clausola using fa in modo che il compilatore utilizzi in maniera trasparente tutte le classi all’interno del namespace “System”.
3: class HelloWorld
Essendo un linguaggio fortemente Object-Oriented, all’interno di ogni file si fa uso di classi.
Una classe viene dichiarata utilizzando la parola chiave class.
Contrariamente a quanto avviene in Java, il nome della classe non deve necessariamente essere uguale al nome del file che la contiene. In questo caso, inoltre, poiché la classe non viene referenziata, il suo nome può essere cambiato con qualsiasi altro senza causare malfunzionamenti.
Ogni classe deve essere aperta utilizzando una parentesi graffa aperta { e chiusa utilizzando una parentesi graffa chiusa }. Questo lo si può vedere alle righe 4 e 9.
5: public static void Main()
Main è l’unico metodo della classe HelloWorld.
I modificatori che precedono il nome del metodo hanno il seguente significato:
public
L’accesso avviene senza restrizioni, cioè qualsiasi programma può invocare questo metodo.
static
È possibile utilizzare questo oggetto senza prima essere obbligati a crearne un’istanza
void
La funzione non ritorna valori di alcun tipo.
Main()
Il metodo Main() è obbligatorio in ogni programma, in quanto è il suo punto di ingresso.
Le parentesi tonde () sono obbligatorie ma possono non contenere nulla. In questo caso il metodo Main non si aspetta alcun parametro
Ogni metodo deve essere aperto utilizzando una parentesi graffa aperta { e chiuso utilizzando una parentesi graffa chiusa }. Questo lo si può vedere alle righe 6 e 8.
7: Console.WriteLine(“Hello, World!”);
Questo è il cuore del nostro software.
WriteLine è un metodo dell’oggetto Console il quale fa parte del namespace System (ecco il perché della riga 1).
Il metodo WriteLine prende in input un parametro di tipo String e lo produce in output sul dispositivo Console.
Compilare il sorgente
Salviamo il codice sorgente in un file, ad esempio HelloWorld.cs.
Anche se non è obbligatorio avere uniformità tra il nome della classe ed il nome del file, in realtà è una buona abitudine da non perdere.
Per compilare il codice sorgente dell’esempio abbiamo bisogno del compilatore csc.exe fornito con il.Net Framework
Il compilatore deve essere eseguito a linea di comando in una finestra di Console.
Supponendo di avere il file HelloWorld.cs nella posizione specificata Il comando da lanciare è il seguente
D:cs-examples>csc HelloWorld.cs
Il compilatore produce un output di questo tipo
Microsoft (R) Visual C# Compiler Version 7.00.9030 [CLR version 1.00.2204.21] Copyright (C) Microsoft Corp 2000. All rights reserved.
Se non ci sono messaggi differenti significa che non ci sono stati errori di compilazione.
A questo punto dovremmo trovarci il nuovo file HelloWorld.exe, eseguibile creato compilando il nostro file sorgente.
Per far partire il nostro primo programma in C# dobbiamo lanciarlo dalla linea di comando
D:cs-examples>HelloWorld
E quello che otteniamo come risultato della nostra fatica è il classico
Hello, World!