BRADLEY L. JONES
C#
Guida completa
C#
Guida completa
Titolo originale:
Teach Yourself C# in 21 Days
Autore:
Bradley L. Jones
Authorized translation from the English language edition,
entitled “Teach Yourself C# in 21 Days”, published by Sams,
Copyright © 2002
Copyright © 2002 – APOGEO s.r.l.
Via Natale Battaglia 12 – 20127 Milano (Italy)
Telefono: 02-28970277 – Fax: 02-26116334
Email:
[email protected]
Sito Web:
www.apogeonline.com
ISBN 88-503-2010-8
Traduzione: Stefano Albarelli, Daniela Carlini, Giuliano Catani,
Monica Marzolini, Marica Perotti, Georges Piriou, Antonella Rivalta
Realizzazione editoriale: ART Servizi Editoriali s.p.a. – Bologna
Copertina e progetto grafico: Enrico Marcandalli
Responsabile di produzione: Vitiano Zaini
Tutti i diritti sono riservati a norma di legge e a norma
delle convenzioni internazionali. Nessuna parte di questo libro
può essere riprodotta con sistemi elettronici, meccanici
o altri, senza l’autorizzazione scritta dell’Editore.
Nomi e marchi citati nel testo sono generalmente depositati o registrati
dalle rispettive case produttrici.
Sommario
Introduzione ...........................................................xxi
Supposizioni e requisiti .................................................................................... xxi
Il booksite ........................................................................................................... xxi
Convenzioni utilizzate in questo libro ........................................................ xxii
Settimana I - A colpo d'occhio
Giorno 1 - Iniziare con C# .......................................3
Che cos’è C# ......................................................................................................... 3
Perché C#? ............................................................................................................. 3
C# è semplice ......................................................................................................
C# è di ultima generazione ..................................................................................
C# è orientato agli oggetti ...................................................................................
C# è potente e flessibile ......................................................................................
C# è un linguaggio costituito da poche istruzioni ...............................................
C# è modulare .....................................................................................................
C# sarà molto diffuso ...........................................................................................
4
4
4
5
5
6
6
C# e gli altri linguaggi di programmazione ...................................................... 6
Preparazione alla programmazione ................................................................... 7
Ciclo di sviluppo del programma ...................................................................... 8
Creare il codice sorgente .................................................................................... 8
Eseguire un programma C# ................................................................................. 9
Compilare codice sorgente C# .......................................................................... 10
Completamento del ciclo di sviluppo ............................................................... 11
iv
C#
Il vostro primo programma C# ...................................................................... 12
Inserire e compilare hello.cs ............................................................................. 13
Tipi di programmi C# ....................................................................................... 16
Domande e risposte .......................................................................................... 17
Verifica .................................................................................................................. 18
Quiz ................................................................................................................... 18
Esercizi .............................................................................................................. 18
Giorno 2 - Comprendere i programmi C# ..........21
Applicazioni C# .................................................................................................. 21
Commenti .......................................................................................................... 22
Parti fondamentali di un’applicazione C# ..................................................... 25
Spazio bianco ....................................................................................................
Parole chiave C# ................................................................................................
Letterali ..............................................................................................................
Identificatori ......................................................................................................
26
26
27
27
Struttura di un’applicazione C# ...................................................................... 27
Espressioni e istruzioni C# ................................................................................ 27
Istruzione vuota ................................................................................................. 27
Analisi del Listato 2.1 ........................................................................................ 28
Righe 1-4: commenti .........................................................................................
Righe 5, 7, 13, 17, 21 e 23: spazio bianco .........................................................
Riga 6: istruzione using .....................................................................................
Riga 8: dichiarazione di classe ...........................................................................
Righe 9, 11, 26 e 27: caratteri di punteggiatura ................................................
Riga 10: Main () .................................................................................................
Righe 14, 15 e 16: dichiarazioni ........................................................................
Riga 20: l’istruzione Assignment .......................................................................
Riga 24 e 25: richiamo di funzioni ....................................................................
28
28
28
28
28
29
29
29
29
Programmazione orientata agli oggetti ......................................................... 29
Concetti orientati agli oggetti ............................................................................ 30
Oggetti e classi .................................................................................................. 31
Visualizzare le informazioni di base ............................................................... 31
Stampa di informazioni aggiuntive .................................................................... 33
Domande e risposte .......................................................................................... 34
Sommario
v
Verifica .................................................................................................................. 35
Quiz ................................................................................................................... 35
Esercizi .............................................................................................................. 35
Giorno 3 - Informazioni da archiviare
con le variabili .........................................................39
Nomi delle variabili ............................................................................................ 39
Utilizzo delle variabili ........................................................................................ 40
Dichiarazione di una variabile ...........................................................................
Assegnazione di valori alle variabili ...................................................................
Impostazione di valori iniziali nelle variabili .....................................................
Come usare le variabili non inizializzate ...........................................................
41
41
43
44
La memoria del computer ............................................................................... 45
Tipi di dato C# ................................................................................................... 46
Tipi di variabili numeriche ................................................................................ 46
Tipi di dato integrali .......................................................................................... 48
Virgola mobile ................................................................................................... 54
Tipi di dati più semplici rispetto a .NET ........................................................... 56
Letterali e variabili a confronto ...................................................................... 58
Letterali numerici .............................................................................................. 58
Letterali booleani ............................................................................................... 59
Letterali delle stringhe ....................................................................................... 59
Costanti ................................................................................................................ 60
Tipi di riferimento .............................................................................................. 60
Domande e risposte .......................................................................................... 61
Verifica .................................................................................................................. 62
Quiz ................................................................................................................... 62
Esercizi .............................................................................................................. 62
Giorno 4 - Utilizzo degli operatori .......................65
Tipi di operatori ................................................................................................. 65
Tipi di operatori unari ...................................................................................... 65
Tipi di operatori binari ...................................................................................... 66
Tipi di operatori ternari ..................................................................................... 66
Segni di punteggiatura ....................................................................................... 66
vi
C#
L’operatore di base di assegnazione .............................................................. 67
Operatori matematici/aritmetici .................................................................... 68
Addizione e sottrazione .....................................................................................
Operatori di moltiplicazione .............................................................................
Moltiplicazione ..................................................................................................
Divisione ............................................................................................................
Operazioni matematiche unarie ........................................................................
68
69
69
69
71
Operatori relazionali ......................................................................................... 74
L’istruzione if ..................................................................................................... 74
Operatori logici condizionali ............................................................................. 76
Operatori logici bit per bit .............................................................................. 79
Operatori dei tipi ............................................................................................... 80
L’operatore sizeof .............................................................................................. 80
L’operatore condizionale ................................................................................. 80
Precedenza degli operatori .............................................................................. 81
Modifica dell’ordine di precedenza ................................................................... 82
Conversione dei tipi di dati ............................................................................. 83
Promozione degli operatori ............................................................................ 84
Per i più coraggiosi ............................................................................................ 84
Archiviazione delle variabili in memoria ...........................................................
Operatori di spostamento .................................................................................
Operatori logici .................................................................................................
L’operatore logico bit per bit OR ......................................................................
L’operatore logico bit per bit AND ...................................................................
L’operatore logico NOT ....................................................................................
84
86
86
87
87
87
Domande e risposte .......................................................................................... 89
Verifica .................................................................................................................. 90
Quiz ................................................................................................................... 90
Esercizi .............................................................................................................. 90
Giorno 5 - Istruzioni di controllo ..........................93
Controllo del flusso del programma ............................................................. 93
Come usare le istruzioni di selezione ........................................................... 93
Ancora qualche parola sull’istruzione if ............................................................ 93
Nidificazione e sovrapposizione di istruzioni if ................................................ 95
Sommario
vii
L’istruzione switch ............................................................................................ 98
Tipi gestiti dalle istruzioni switch ................................................................... 101
Utilizzo delle istruzioni iterative ................................................................... 102
L’istruzione while ............................................................................................
L’istruzione do .................................................................................................
L’istruzione for ................................................................................................
Le espressioni dell’istruzione for .....................................................................
102
106
108
111
Come usare il comando goto ....................................................................... 112
Le istruzioni label ............................................................................................ 112
Nidificazione del flusso ................................................................................... 114
Domande e risposte ........................................................................................ 114
Verifica ................................................................................................................ 115
Quiz ................................................................................................................. 115
Esercizi ............................................................................................................ 115
Giorno 6 - Le classi ...............................................117
Ancora sulla programmazione orientata agli oggetti ............................... 117
Incapsulamento ...............................................................................................
Polimorfismo ...................................................................................................
Ereditarietà ......................................................................................................
Riuso ................................................................................................................
Oggetti e classi ................................................................................................
117
118
118
118
119
Definizione di una classe ................................................................................ 119
Dichiarazioni di una classe ............................................................................. 119
I componenti di una classe .............................................................................. 121
Componenti di dati o campi .......................................................................... 121
Accesso ai componenti di dati ........................................................................
Come usare i componenti di dati ....................................................................
Usare le classi come componenti di dati .........................................................
Tipi nidificati ...................................................................................................
122
123
126
127
Variabili statiche ............................................................................................... 127
La classe applicazione ...................................................................................... 130
Proprietà ............................................................................................................ 130
Introduzione ai namespace ............................................................................ 133
Namespace nidificati ....................................................................................... 135
viii
C#
Domande e risposte ........................................................................................ 135
Verifica ................................................................................................................ 135
Quiz ................................................................................................................. 136
Esercizi ............................................................................................................ 136
Giorno 7 - Metodi di classe e funzioni membro 139
Introduzione ai metodi ................................................................................... 139
Uso dei metodi ................................................................................................. 139
Flusso del programma con metodi .............................................................. 141
Sintassi di un metodo ...................................................................................... 142
Intestazione di un metodo ...............................................................................
Dati di ritorno dei metodi ................................................................................
Denominazione dei metodi .............................................................................
Corpo di un metodo ........................................................................................
142
143
143
143
Passaggio di valori ai metodi .......................................................................... 148
Metodi statici ................................................................................................... 149
Gli attributi di accesso ai parametri ................................................................. 149
Tipi dei metodi di classe ................................................................................. 155
Metodi di accesso alle proprietà ...................................................................... 155
Distruttori/finalizzatori .................................................................................... 160
Domande e risposte ........................................................................................ 162
Verifica ................................................................................................................ 163
Quiz ................................................................................................................. 163
Esercizi ............................................................................................................ 163
Settimana I - In riepilogo
Il programma WR01.cs ................................................................................... 165
La documentazione XML .................................................................................
Il codice in profondità .....................................................................................
Il metodo Main ................................................................................................
Il metodo GetMenuChoice ..............................................................................
Le opzioni di menu principali .........................................................................
La classe point .................................................................................................
La classe line ....................................................................................................
Le altre classi ...................................................................................................
174
175
176
176
177
177
177
178
Sommario
ix
Settimana II - A colpo d’occhio
Giorno 8 - Memorizzazione avanzata
dei dati: strutture, enumeratori e array .............181
Strutture ............................................................................................................ 181
Confronto tra strutture e classi .......................................................................
Membri di struttura .........................................................................................
Nidificazione delle strutture ............................................................................
Metodi delle strutture ......................................................................................
Costruttori di struttura ....................................................................................
Distruttori di una struttura ..............................................................................
181
182
184
186
187
189
Enumeratori ...................................................................................................... 189
Modifica del valore predefinito degli enumeratori .......................................... 192
Modifica del tipo dei valori di un enumeratore ............................................... 194
Uso degli array per memorizzare i dati ...................................................... 196
Creazione di array ............................................................................................
Array multidimensionali ..................................................................................
Creazione di un array contenente array di diverse dimensioni ......................
Lunghezze degli array e controllo associato ....................................................
Come usare gli array nelle classi e nelle strutture ...........................................
Come usare l’istruzione foreach ......................................................................
196
201
202
203
205
205
Domande e risposte ........................................................................................ 206
Verifica ................................................................................................................ 207
Quiz ................................................................................................................. 207
Esercizi ............................................................................................................ 208
Giorno 9 - Accesso avanzato ai metodi ..............209
Overloading dei metodi .................................................................................. 209
Overloading di funzioni ................................................................................... 210
Overloading di un costruttore ......................................................................... 213
Comprensione delle definizioni di metodo ..................................................... 216
Come usare una serie variabile di parametri ............................................ 217
Come usare la parola chiave params con tipi di dato differenti ......................
Alcuni dettagli sulla parola chiave params ......................................................
Il metodo Main e gli argomenti da riga di comando .......................................
Area di validità locale ......................................................................................
219
221
221
223
x
C#
Differenziazione tra le variabili di classe e le variabili locali ........................... 225
Modificatori dell’area di validità di una classe ................................................. 226
Classi senza oggetti .......................................................................................... 226
Costruttori privati ............................................................................................ 227
Ancora qualche parola sui namespace ........................................................ 229
Denominazione di un namespace ................................................................... 229
Dichiarazione di un namespace ...................................................................... 229
Il comando using e i namespace ..................................................................... 231
Domande e risposte ........................................................................................ 233
Verifica ................................................................................................................ 234
Quiz ................................................................................................................. 234
Esercizi ............................................................................................................ 234
Giorno 10 - Gestione delle eccezioni ..................237
Il concetto di gestione dei problemi ............................................................ 237
Come impedire gli errori con un codice logico .............................................. 237
Qual è la causa delle eccezioni? ...................................................................... 238
Gestione delle eccezioni ................................................................................ 239
Uso di try e catch ............................................................................................
Rilevamento delle informazioni sull’eccezione ...............................................
Come utilizzare più di una catch per una sola istruzione try ..........................
Come funziona l’ordine di gestione delle eccezioni .......................................
240
241
242
244
Aggiunta di obbligatorietà con finally .......................................................... 244
Eccezioni comuni ............................................................................................. 250
Definizione di classi di eccezione personalizzate ...................................... 251
Come generare eccezioni personalizzate ................................................... 252
Nuova esecuzione di un’eccezione ................................................................. 255
Confronto tra istruzioni checked e unchecked ........................................ 256
Sintassi per checked e unchecked .................................................................. 258
Domande e risposte ........................................................................................ 258
Verifica ................................................................................................................ 259
Quiz ................................................................................................................. 259
Esercizi ............................................................................................................ 259
Sommario
xi
Giorno 11 - Ereditarietà .......................................261
Concetti di base sull’ereditarietà ................................................................. 261
Ereditarietà singola .......................................................................................... 262
Utilizzare l’ereditarietà .................................................................................... 265
Come usare i metodi della classe di base nei metodi ridefiniti ....................... 270
Polimorfismo e classi ereditate ..................................................................... 270
Metodi virtuali ................................................................................................... 273
Come usare le classi astratte ........................................................................ 276
Come sigillare una classe ............................................................................... 279
Object, la classe di base per antonomasia ................................................. 280
I metodi della classe Object ............................................................................ 281
Boxing e unboxing .......................................................................................... 282
Come usare le parole chiave is e as con le classi:
conversioni di classe ........................................................................................ 285
La parola chiave is ........................................................................................... 285
La parola chiave as .......................................................................................... 287
Array di oggetti di tipo diverso .................................................................... 287
Domande e risposte ........................................................................................ 292
Verifica ................................................................................................................ 293
Quiz ................................................................................................................. 293
Esercizi ............................................................................................................ 294
Giorno 12 - Input e output ...................................295
Input e output da e verso la console ........................................................... 295
Formattazione delle informazioni ................................................................ 295
Formattazione di valori numerici .................................................................... 298
Visualizzazione di valori enumerati ................................................................. 308
Lavorare con le stringhe ................................................................................ 310
Metodi della classe String ................................................................................ 311
Il carattere speciale per la formattazione delle stringhe: @ ............................ 313
Costruzione di stringhe ................................................................................... 314
Lettura di informazioni dalla Console ......................................................... 316
Utilizzo del metodo Read ................................................................................ 317
xii
C#
Utilizzo del metodo ReadLine .......................................................................... 318
La classe Convert ............................................................................................. 319
Domande e risposte ........................................................................................ 322
Verifica ................................................................................................................ 323
Quiz ................................................................................................................. 323
Esercizi ............................................................................................................ 324
Giorno 13 - Interfacce ..........................................325
Panoramica sulle interfacce ........................................................................... 325
Classi e interfacce ............................................................................................ 326
Come utilizzare le interfacce ........................................................................... 326
Utilità delle interfacce ..................................................................................... 326
Definizione di interfacce ................................................................................. 327
Definizione di un’interfaccia dotata di membri di tipo metodo ...................... 328
Come specificare le proprietà nelle interfacce ............................................... 331
Come servirsi di interfacce multiple ........................................................... 333
Membri di interfaccia espliciti ....................................................................... 335
Derivazione di nuove interfacce da interfacce preesistenti ................... 338
Come nascondere i membri di un’interfaccia ........................................... 338
Domande e risposte ........................................................................................ 340
Verifica ................................................................................................................ 341
Quiz ................................................................................................................. 341
Esercizi ............................................................................................................ 341
Giorno 14 - Indexer, funzioni delegate
ed eventi ................................................................343
Usare un indexer ............................................................................................. 343
Conoscere le funzioni delegate .................................................................... 346
Lavorare con gli eventi ................................................................................... 350
Creare eventi .................................................................................................... 350
Delega di un evento ........................................................................................
La classe EventArgs ..........................................................................................
Il codice della classe Event ..............................................................................
Creare gestori di eventi ...................................................................................
351
351
352
353
Sommario
Associare eventi e gestori di eventi .................................................................
Conclusione .....................................................................................................
Gestori di eventi multipli (Multicasting) .........................................................
Rimuovere un gestore di eventi ......................................................................
xiii
354
354
356
358
Domande e risposte ........................................................................................ 360
Verifica ................................................................................................................ 360
Quiz ................................................................................................................. 360
Esercizi ............................................................................................................ 361
Settimana II - In riepilogo ....................................363
Enumerazioni per le carte .............................................................................. 371
Un tipo card ...................................................................................................... 371
Una classe deck ................................................................................................ 372
Il gioco delle carte ........................................................................................... 373
Analizzare l’intero mazzo di carte ............................................................... 373
Settimana III - A colpo d’occhio
Giorno 15 - Utilizzo delle classi
di base di .NET ......................................................377
Classi di .NET Framework ............................................................................. 377
La Common Language Specification ...............................................................
Organizzazione in namespace dei tipi .............................................................
Standard ECMA ................................................................................................
Verifica delle classi del framework ..................................................................
377
378
378
378
Come lavorare con un timer ........................................................................ 379
Come ottenere informazioni sulle cartelle e sull’ambiente di sistema 381
Come lavorare con le routine matematiche ............................................. 384
Come lavorare con i file ................................................................................. 387
Copia di un file ................................................................................................ 387
Come ottenere informazioni sui file ................................................................ 390
Come lavorare con i file di dati .................................................................... 392
Concetto di flusso ............................................................................................ 392
Ordine di lettura dei file .................................................................................. 392
xiv
C#
Metodi di creazione e di apertura dei file ........................................................ 393
Come lavorare con altri tipi di file ................................................................... 400
Domande e risposte ........................................................................................ 401
Verifica ................................................................................................................ 401
Quiz ................................................................................................................. 401
Esercizi ............................................................................................................ 402
Giorno 16 - Creazione di form di Windows .......403
Come lavorare con form e finestre ............................................................. 403
Creazione di form di Windows .................................................................... 403
Opzioni di compilazione ................................................................................. 404
Analisi della vostra prima applicazione Windows ........................................... 405
Il metodo Application.Run .............................................................................. 406
Come personalizzare l’interfaccia di un form ........................................... 407
La barra del titolo di un form ..........................................................................
La dimensione di un form ...............................................................................
Colori di sfondo di un form .............................................................................
Bordi di un form ..............................................................................................
407
410
412
416
Aggiunta di controlli a un form ..................................................................... 418
Utilizzo del controllo Label .............................................................................
Suggerimenti per l’utilizzo dei controlli ..........................................................
Utilizzo dei pulsanti .........................................................................................
Eventi relativi ai pulsanti .................................................................................
Creazione del pulsante OK ..............................................................................
Utilizzo delle caselle di testo ...........................................................................
Come lavorare con gli altri controlli ...............................................................
418
421
423
424
428
428
432
Domande e risposte ........................................................................................ 433
Verifica ................................................................................................................ 433
Quiz ................................................................................................................. 433
Esercizi ............................................................................................................ 434
Giorno 17 - Creare applicazioni di finestre ........435
Lavorare con i pulsanti radio ........................................................................ 435
Raggruppare pulsanti radio ............................................................................. 435
Lavorare con i contenitori ............................................................................... 439
Sommario
xv
Lavorare con le caselle di riepilogo ............................................................. 442
Aggiungere voci all’elenco (della casella di riepilogo) .................................... 443
Aggiungere un menu al modulo .................................................................... 447
Creare un menu di base ..................................................................................
Creare menu multipli ......................................................................................
Utilizzare menu selezionati ..............................................................................
Creare un menu pop-up ..................................................................................
447
450
453
457
Visualizzare finestre di dialogo e moduli pop-up ...................................... 459
La classe MessageBox ...................................................................................... 460
Finestre di dialogo preesistenti che potete usare in Windows ....................... 462
Far apparire la vostra finestra di dialogo ......................................................... 466
Domande e risposte ........................................................................................ 469
Verifica ................................................................................................................ 469
Quiz ................................................................................................................. 469
Esercizi ............................................................................................................ 470
Giorno 18 - Sviluppo Web ...................................473
Creazione di applicazioni Web ..................................................................... 473
Concetto di componente ............................................................................... 473
Servizi Web ....................................................................................................... 474
Creazione di un componente semplice ...........................................................
Creazione di un servizio Web ..........................................................................
Creazione di proxy ..........................................................................................
Chiamata di un servizio Web ...........................................................................
475
476
479
482
Creazione di applicazioni Web classiche .................................................... 483
I moduli Web ................................................................................................... 484
Creazione di un’applicazione ASP.NET di base ............................................... 484
Controlli ASP.NET ........................................................................................... 488
Domande e risposte ........................................................................................ 496
Verifica ................................................................................................................ 497
Quiz ................................................................................................................. 497
Esercizi ............................................................................................................ 497
xvi
C#
Giorno 19 - Le due D di C#:
Direttive e Debugging ..........................................499
Cos’è il Debugging? ......................................................................................... 499
Tipi di errori ..................................................................................................... 499
Ricerca degli errori .......................................................................................... 500
Walkthrough: tracciamento del codice ...................................................... 500
Direttive del preprocessore .......................................................................... 501
Dichiarazioni di preelaborazione ....................................................................
Elaborazione condizionale (#if, #elif, #else, #endif) .......................................
Riferire errori e avvertimenti nel vostro codice (#error, #warning) ...............
Cambiare numeri di riga ..................................................................................
Una breve analisi delle aree .............................................................................
501
505
506
508
510
Usare i debugger .............................................................................................. 510
Domande e risposte ........................................................................................ 510
Verifica ................................................................................................................ 511
Quiz ................................................................................................................. 511
Esercizi ............................................................................................................ 511
Giorno 20 - Overloading degli operatori ............515
Overloading delle funzioni rivisitate ............................................................ 515
Overloading di un operatore ........................................................................ 515
Effettuare l’overloading ...................................................................................
Overloading degli operatori binari di base ......................................................
Overloading degli operatori unari di base .......................................................
Overloading degli operatori relazionali e logici ..............................................
Overloading degli operatori logici ..................................................................
Riepilogo degli operatori soggetti a overloading ............................................
519
520
522
527
530
533
Domande e risposte ........................................................................................ 534
Verifica ................................................................................................................ 534
Quiz ................................................................................................................. 534
Esercizi ............................................................................................................ 535
Sommario
xvii
Giorno 21 - Un giorno dedicato
alla riflessione e agli attributi ..............................537
Riflessione (reflection) .................................................................................... 537
Attributi .............................................................................................................. 542
Che cosa sono gli attributi? .............................................................................
Utilizzo degli attributi ......................................................................................
Utilizzo di attributi multipli .............................................................................
Utilizzo degli attributi che hanno dei parametri .............................................
Definire i propri attributi ................................................................................
Definizione della classe Attribute ....................................................................
Assemblaggio finale .........................................................................................
Confronto tra gli attributi a uso singolo e gli attributi a uso multiplo .............
542
543
544
544
545
546
551
553
Congratulazioni! ............................................................................................... 554
Domande e risposte ........................................................................................ 554
Verifica ................................................................................................................ 555
Quiz ................................................................................................................. 555
Esercizi ............................................................................................................ 555
Settimana III - In riepilogo
Applicate quello che avete appreso ............................................................. 557
Appendice A - Soluzioni .......................................559
Giorno 1 ............................................................................................................ 559
Quiz ..................................................................................................................559
Esercizi .............................................................................................................560
Giorno 2 ............................................................................................................ 561
Quiz ..................................................................................................................561
Esercizi .............................................................................................................562
Giorno 3 ............................................................................................................ 563
Quiz ..................................................................................................................563
Esercizi .............................................................................................................564
Giorno 4 ............................................................................................................ 565
Quiz ..................................................................................................................565
Esercizi .............................................................................................................566
xviii
C#
Giorno 5 ............................................................................................................ 567
Quiz ..................................................................................................................567
Esercizi .............................................................................................................568
Giorno 6 ............................................................................................................ 572
Quiz ..................................................................................................................572
Esercizi .............................................................................................................573
Giorno 7 ............................................................................................................ 576
Quiz ..................................................................................................................576
Esercizi .............................................................................................................578
Giorno 8 ............................................................................................................ 581
Quiz ..................................................................................................................581
Esercizi .............................................................................................................582
Giorno 9 ............................................................................................................ 587
Quiz ..................................................................................................................587
Esercizi .............................................................................................................588
Giorno 10 .......................................................................................................... 591
Quiz ..................................................................................................................591
Esercizi .............................................................................................................592
Giorno 11 .......................................................................................................... 594
Quiz ..................................................................................................................594
Esercizi .............................................................................................................595
Giorno 12 .......................................................................................................... 596
Quiz ..................................................................................................................596
Esercizi .............................................................................................................597
Giorno 13 .......................................................................................................... 599
Quiz ..................................................................................................................599
Esercizi .............................................................................................................600
Giorno 14 .......................................................................................................... 602
Quiz ..................................................................................................................602
Esercizi .............................................................................................................603
Giorno 15 .......................................................................................................... 609
Quiz ..................................................................................................................609
Esercizi .............................................................................................................610
Giorno 16 .......................................................................................................... 613
Quiz ..................................................................................................................613
Esercizi .............................................................................................................614
Sommario
xix
Giorno 17 .......................................................................................................... 617
Quiz ..................................................................................................................617
Esercizi .............................................................................................................618
Giorno 18 .......................................................................................................... 621
Quiz ..................................................................................................................621
Esercizi .............................................................................................................622
Giorno 19 .......................................................................................................... 623
Quiz ..................................................................................................................623
Esercizi .............................................................................................................624
Giorno 20 .......................................................................................................... 626
Quiz ..................................................................................................................626
Esercizi .............................................................................................................627
Giorno 21 .......................................................................................................... 632
Quiz ..................................................................................................................632
Esercizi .............................................................................................................633
Indice analitico ......................................................639
Introduzione
C# Guida completa è pensato per fornirvi un’introduzione a C# e vi permetterà di
iniziare a programmare applicazioni reali nel più breve tempo possibile. Se, però, vi
aspettate di imparare C# solo leggendo, resterete delusi: infatti, dovrete anche inserire il codice, eseguire i quiz e svolgere gli esercizi.
I quiz e gli esercizi sono stati formulati per aiutarvi a consolidare la comprensione
dei temi trattati in un determinato giorno. Dopo aver letto una lezione, dovreste essere in grado di rispondere a tutte le domande del quiz; in caso contrario, dovrete
rivedere parte di quella lezione. Gli esercizi, poi, vi offrono la possibilità di applicare ciò che avete appreso.
Le risposte ai quiz e alla maggior parte degli esercizi sono fornite nell’Appendice A.
Però provate a trovare le risposte da soli, prima di passare all’appendice!
Il paragrafo “Domande e risposte”, alla fine di ogni giorno, propone alcune domande che potrebbero sorgere durante la lettura della lezione e fornisce le relative risposte.
Supposizioni e requisiti
Si suppone che ognuno di voi possieda un compilatore C# e un ambiente di esecuzione .NET. Sebbene possiate leggere questo libro senza il loro ausilio, tuttavia
avrete difficoltà a comprendere pienamente tutto.
Si è supposto, inoltre, che siate dei programmatori principianti. Se possedete una
preparazione minore o maggiore, imparerete comunque varie nozioni da questo libro; tuttavia, forse, in alcuni casi progredirete più lentamente del previsto.
Questa guida non presuppone che stiate usando gli ambienti di sviluppo Visual C#
o Visual Studio .NET; infatti, potete usare sia gli strumenti di Microsoft sia svariati altri mezzi.
Il booksite
Associato a questo libro, è stato realizzato un booksite, reperibile all’indirizzo
http://www.apogeonline.com/libri/02010/allegati/, dove potete trovare
versioni prelevabili di tutto il codice presentato, oltre a collegamenti e materiale
xxii
C#
aggiuntivo utile per conoscere C#. Naturalmente, sarete in grado di utilizzare questo libro e svolgere gli esercizi senza mai visitare il sito, ma per alcuni esempi più
lunghi può essere comodo prelevare i file direttamente dal Web.
Convenzioni utilizzate in questo libro
All’interno del libro sono presenti diverse convenzioni, che hanno lo scopo di evidenziare alcune particolari informazioni.
Le note forniscono informazioni aggiuntive, che potete leggere immediatamente o solo in un secondo momento.
I suggerimenti mettono in evidenza informazioni che possono rendere
più efficace la programmazione C#.
Questo simbolo concentra la vostra attenzione sui problemi o sugli effetti
collaterali che si possono verificare in specifiche situazioni.
Sì
No
Le caselle Sì/No mettono in evidenza le buone abitudini da adottare…
… e le cattive abitudini da evitare.
TERMINE
L’icona Termine indica i punti in cui viene utilizzata e definita una nuova terminologia, evidenziata con un carattere corsivo.
ANALISI
L’icona Analisi evidenzia le parti in cui si analizzano gli esempi di codice.
Il codice è presentato utilizzando un carattere monospazio.
Alla fine di ogni listato viene riportato, in vari casi, il relativo output.
Scarica

Guida completa