Programmare con C# 5 – Guida completa.
Edito da LSWR, 2014. Disponibile in tutte le librerie e i siti di vendita online anche in formato ebook.
Compralo subito
Nella pagina ufficiale del libro, http://www.lswr.it/libro/programmare-con-c-5/, troverete anche un estratto in PDF con prefazione, introduzione e il primo capitolo “C# e la piattaforma .NET”.
Gli esempi del manuale sono navigabili su GitHub, al link https://github.com/zetanove/esempi_csharp oppure scaricabili direttamente in formato zip.
Contatti e segnalazioni
Se hai domande, suggerimenti (o se vuoi mettere mi piace!) visita la pagina Facebook del libro:
https://www.facebook.com/programmare.con.csharp
In questa pagina troverete eventuali precisazioni e correzioni che si dovessero rendere necessarie, quindi segnalate pure tutto quello che vi pare (anche via facebook!).
Scarica qui il file di Errata Corrige:
ProgrammareCsharp5_ErrataCorrige.pdf (855,83 kb) (ultimo aggiornamento 21/08/2015)
Obiettivi del libro
L’obiettivo che mi sono posto scrivendo questo testo è quello di produrre un manuale, il più possibile ricco e completo di ogni dettaglio del linguaggio C# e delle sue applicazioni pratiche, con l’intento di renderlo il miglior libro su C# in italiano per permettere a chiunque di imparare a programmare, ed a chi già lo conosce, di approfondire il linguaggio. Spero di essermi perlomeno avvicinato, ed attendo le vostre opinioni e recensioni.
Struttura del libro
Il libro è strutturato in maniera da permettere anche a chi non ha mai programmato di iniziare a farlo partendo dalle basi del linguaggio C# fino ad arrivare ai concetti più complessi.
Di seguito un elenco degli argomenti affrontati:
Il Capitolo 1 esegue una prima panoramica di .NET e dei suoi componenti.
Il Capitolo 2 mostra un primo programma C# e ne analizza il funzionamento. Lo stesso capitolo introduce la sintassi di base del linguaggio e i suoi elementi.
Il Capitolo 3 espone il sistema di tipi di .NET e le varie categorie di tali tipi creabili e utilizzabili in C#.
Nel Capitolo 4 si vedrà come scrivere espressioni più o meno complesse all’interno di un programma, utilizzando i vari operatori messi a disposizione dal linguaggio.
Il Capitolo 5 invece mostrerà come controllare l’esecuzione di un programma, utilizzando gli appositi costrutti e istruzioni di controllo del flusso.
A partire dal Capitolo 6 si entra nel mondo della programmazione a oggetti in C# .
Il Capitolo 7 approfondisce altri concetti della programmazione a oggetti, in particolare quelli di ereditarietà e polimorfismo.
Nel Capitolo 8 viene introdotta la gestione delle eccezioni.
Il Capitolo 9 tratta le collezioni di oggetti e la gestione di tipi parametrici mediante il meccanismo dei cosiddetti generics.
Il Capitolo 10 tratta la programmazione a eventi e i metodi di gestione degli stessi e argomenti strettamente legati a questi, come delegate, metodi anonimi ed espressioni lambda.
Quindi il Capitolo 11 include argomenti come LINQ.
Il Capitolo 12 pone l’accento sulle prestazioni e affronta argomenti come il multithreading, la programmazione parallela e quella asincrona, per sfruttare i moderni processori dotati di più core.
Il Capitolo 13 esplora le funzioni utilizzabili da C# per manipolare tale formato, partendo dal classico XML DOM, passando per XPath fino a LINQ to XML.
Il Capitolo 14 scende in profondità nei meandri della composizione dei tipi.
Il Capitolo 15 l’accesso ai dati, esplorando l’input/output su file, e le tecnologie ADO.NET, LINQ to SQL e Entity Framework per l’accesso ai database relazionali.
Nell’ultimo, il Capitolo 16, si è cercato di mostrare qualche esempio di sviluppo con un’impronta più pratica.
L’Appendice A è dedicata all’utilizzo delle classi necessarie per lavorare con stringhe e testi e alle espressioni regolari.
L’Appendice B, infine, mostra dei rapidi cenni sulla programmazione con i puntatori, quindi in cosiddetto contesto unsafe, per l’utilizzo da codice gestito di funzioni native, per mezzo dei servizi P/Invoke.
In tal modo si è compiuto un viaggio completo all’interno di tutte le caratteristiche e potenzialità offerte dal linguaggio C# e dalla piattaforma .NET, senza naturalmente la pretesa di essere totalmente esaustivi, dati i limiti imposti dalla lunghezza del testo.