Bene, passiamo ora in rassegna alcuni elementi di base del linguaggio C#. Da segnalare che questo linguaggio è case sensitive quindi una stessa lettera maiuscola e minuscola sono caratteri differenti. Con la parentesi graffa, aperta e chiusa si gestisce l'inizio e la fine di un blocco di codice, come i classici begin e end. Alla fine di ogni istruzione il punto e virgola è d'obbligo.
Proseguiamo con come...
Dichiarare una variabile
Ecco alcuni esempi su come si dichiarano variabili intere, stringhe, oggetti.
int x;
String s;
String s1, s2;
Object o;
Object obj = new Object();
Se si vuole dichiarare e contemporaneamente inizializzare la variabile:
String s = "Hello World";
int i = 1;
Commentare il codice
Eh sì, anche se a volte costa un po' di fatica, commentare è fondamentale, quindi:
// Questo è un commento
/*
Questo
un commento
su più righe
*/
Usare gli Array
Alcuni esempi su come si dichiara e si inizializza un array mono e bidimensionale:
String[] a = new String[3];
a[0] = "1";
a[1] = "2";
a[2] = "3";
String[][] a = new String[3][3];
a[0][0] = "1";
a[1][0] = "2";
a[2][0] = "3";
double[] a = { 3.00, 4.00, 5.00 };
Concatenare delle Stringhe
Ecco alcuni modi di concatenare stringhe.
String s1;
String s2 = "hello";
s2 += " world";
s1 = s2 + " !!!";
L'istruzione IF
La particolarità dell'istruzione if è che l'espressione contenuta tra le parentesi può avere solo risultati di tipo bool. Non è possibile ad esempio scrivere
if (stringaTest.Length) {...}
perché la proprietà length dell'oggetto string restituisce un intero.
if (Variabile != null) {
FaiQuesto;
}
else FaiQualcosaAltro;
La clausola else fa sempre riferimento all'ultimo if che non ha già un else corrispondente.
Gli operatori di confronto disponibili sono:
== che restituisce true quando i due valori sono uguali;
!= che restituisce true quando i due valori sono differenti;
<,>... che restituisce true quando viene soddisfatta la relazione.
Il ciclo FOR
Il ciclo for viene eseguito ripetutamente finché una determinata condizione rimane true:
for (inizializzatore; condizione; iteratore) istruzione;
L'esempio che segue esegue il ciclo 3 volte e fa assumere alla variabile intera i valori 0, 1 e 2:
for (int i=0; i<3; i++)
a(i) = "test";
Il ciclo WHILE
Quando si vuole eseguire una istruzione zero o più volte si può usare
un costrutto while:
int i = 0;
while (i<3)
{
Messaggio.Text = i.ToString();
i += 1;
}
TRY e CATCH
Rilevare gli errori durante l'esecuzione dell'applicazione è fondamentale per evitare che l'utente non riceva incomprensibili messaggi di errore. Le istruzioni try e catch ci aiutano a rilevare e gestire le eccezioni.
try {
// Codice che può lanciare l'eccezione
}
catch(OverflowException e) {
// Rileva una eccezione specifica (in questo caso un overflow)
}
catch(Exception e) {
// Rileva una eccezione generica
}
finally {
// Codice che viene eseguito in ogni caso,
// che ci sia stata o no una eccezione.
}
Dichiarare un metodo associato ad un evento
void MyButton_Click(Object sender, EventArgs E)
{
...
}
Con questo codice abbiamo dichiarato il metodo MyButton_Click che gestisce l'evento invocato da un bottone. Sender è il nome dell'oggetto che ha invocato l'evento e il parametro E che incapsula altre informazioni relative all'evento.
Riprenderemo più avanti la gestione degli eventi, dei metodi e di altri elementi dei linguaggi object oriented.