PRONTUARIO C# Note sulla sintassi Il C# è case sensitive cioè distingue le lettere minuscole da quelle maiuscole Ogni istruzione termina con ";" Commenti // Commento di una riga. /* Commento anche di più righe. */ Variabili Le variabili vanno sempre dichiarate e, preferibilmente, inizializzate. Il primo carattere può essere una lettera oppure l'underscore ("_") oppure l'at ("@"). Il nome di una variabile non contiene spazi, né simboli, ad eccezione dell’underscore Tipi di dati bool byte char decimal double float int long string Boolean value 8-bit unsigned integer 16-bit Unicode character 128-bit precise decimal values with 28-29 significant digits 64-bit double-precision floating point 32-bit single-precision floating point 32-bit signed integer 64-bit signed integer String value Metodi di conversione: Convert. ToBoolean ToByte ToChar ToDateTime ToDecimal ToDouble ToInt16 ToInt32 ToInt64 ToSbyte ToSingle ToString Arrays int[] array = new int[] {1, 2, 3}; int[] array = {1, 2, 3}; int[] array = new int[3]; Strutture di selezione e cicli if-else if (true) {...} else {...} switch (var) { case 1: break;… default: break; } for (int i =1; i < 5; i++) {...} foreach (int item in array) {...} while (true) {...} do {...} while (true); switch for foreach-in while do... while Gestione delle eccezioni try-catch-finally try {...} catch (Exception e) {...} catch {...} finally {...} Operatori di assegnazione = Simple assignment += Addition assignment -= Subtraction assignment *= Multiplication assignment /= Division assignment %= Remainder assignment &= AND assignment |= OR assignment ^ XOR assignment <<= Left-shift assignment >>= Right-shift assignment Operatori di confronto < Less than > Greater than <= Less than or equal to >= Greater than or equal to == Equal to != Not equal to Operatori Aritmetici + Add numbers Subtract numbers * Multiply numbers / Divide numbers % Compute remainder of division of numbers ++ Increases integer value by 1 -Decreases integer value by 1 Operatori logici && || ! & | ^ Logical AND Logical OR Logical NOT Binary AND Binary OR Binary XOR GESTIONE DEI FILE DI TESTO Per l’uso dei file in un progetto C# è richiesta la specifica di using System.IO; Creazione e scrittura Viene usata la classe StreamWriter: StreamWriter sw = new StreamWriter(@”C:\dati\lettera.txt”); // Sovrascrive il file se esistente Oppure StreamWriter sw; sw= new StreamWriter(“lettera.txt”); // in questo caso il file si trova nella cartella bin/DEBUG/ //del progetto // nell’istruzione seguente ‘dato’ è una stringa o int/double ... che verranno trasformati // automaticamente in stringhe prima di essere registrati sul file sw.WriteLine(dato); … sw.Close(); //la scrittura avviene a partire dall’inizio del file Creazione e scrittura in append StreamWriter sw = new StreamWriter(@”C:\dati\lettera.txt”, true); sw.WriteLine(dato); … sw.Close(); N.B.: true = aggiunge i dati al file esistente false (o niente) = sovrascrive il file se esistente Lettura Si utilizza la classe StreamReader. StreamReader sr= new StreamReader(”lettera.txt”); NB: se il file non esiste viene sollevata una eccezione: usare il costrutto try … catch … finally per gestirla o controllare prima con File.Exists(”lettera.txt”); che il file esista. string rigaLetta=””: while( !sr.EndOfStream ) //finché non è finito il file … { rigaLetta = sr.ReadLine(); … utilizzo della riga letta … } sr.Close(); Eliminazione File.Delete((@”C:\dati\lettera.txt”);