Il corso Percorso di Programmazione con Microsoft C# descrive le tecniche fondamentali necessarie per progettare e sviluppare applicazioni C# dalle basi agli argomenti più avanzati del linguaggio.
Il corso è destinato a studenti desiderosi di apprendere le basi del linguaggio C#.
Al termine del corso il partecipante sarà in grado di:
- Scrivere applicazioni in C# utilizzando la piattaforma .NET
- Utilizzare i tipi di C#: value type e reference type
- Utilizzare in modo approfondito le classi e le interfacce
- Utilizzare i Generic
- Progettare le class, le struct, le enum e le interface.
- Utilizzare il polimorfismo
- Lavorare con le eccezioni
- Utilizzare correttamente i delegates
- Utilizzare le lambda expression
- Sfruttare i vantaggi di LINQ
Introduzione a C#
- Architettura di .NET 6
- La CLR
- Gli Assembly
- CTS e CLS
- Quale versione di .NET scegliere per lo sviluppo
- Come installare .NET 6
I tipi di dato in C#
- Variabili
- Tipi Float, Double, Decimal, Integer
- Tipi Bool e String
- Integer, Long
- Type Inference
Operatori aritmetici
- Operazioni ed operatori
- Incremento e decremento
- Casting
- La classe Convert
Test condizionali
- L'istruzione if
- Operatori condizionali
- Operatori logici
- L'istruzione switch
Le iterazioni
- Ciclo While e Do While
- Ciclo For
- Break e Continue
Gli array
- Gli array
- Jagged Array e Array multi-dimensionali
- Il ciclo foreach
I metodi
- Introduzione ai metodi
- La struttura di un metodo C#
- Overload dei metodi
Value Type e Reference Type
- Stack ed Heap
- Value e Reference type
- Semantica dei value type
- Semantica dei reference type
- Utilizzo di null
Le classi in C#
- Variabili d'istanza
- Modificatori d'accesso
- Static
- Costruttori
- L'ambito delle variabili
- Keyword this
- Proprietà
- Proprietà auto implementate
Le strutture e le enumerazioni
- Introduzione alle struct
- Inizializzare una struct
- Introduzione alle enum
- Impostare i valori di una enum
Ereditarietà
- Classi base e classi derivate
- Ereditarietà
- Ereditarietà e costruttori
- Introduzione al polimorfismo
- Metodi virtuali ed override
- Metodi e classi astratte
- Keyword base
- Metodi e classi sealed
Le interfacce
- Dichiarare un'interfaccia
- Utilizzare un'interfaccia
I namespace
- Perché usiamo i namespace
- Importare un namespace, la keyword using
Le eccezioni
- Introduzione alle eccezioni
- Come funzionano le eccezioni
- Gestire le eccezioni (try/catch)
- Sollevare le eccezioni (throw)
- Keyword finally
I Generic
- Introduzione ai generic
- Metodi generic
- Tipi generic
- Usare una classe generic
- Definire una classe generic
- Valori predefiniti
- Type constraint
- Interfacce generiche
- Struct generiche
Delegate
- Come definire un delegate
- Utilizzare un delegate
- Delegate multicast
- Delegate generici
- Delegate generici predefiniti: action, func e predicate
Eventi
- Come definire un evento
- Listener di un evento
- Ricezione di un evento
LINQ
- Il corso si svolgerà in modalità online live streaming, con il docente che terrà le lezioni in diretta. I partecipanti dovranno avere a disposizione un Personal Computer e, preferibilmente, un secondo schermo.
- Le lezioni saranno registrate e le registrazioni saranno accessibili ai partecipanti per un periodo di due mesi dalla fine del corso.
- Saranno forniti materiali didattici di supporto, come MOC, libri o altre risorse, a seconda della disponibilità.
- Al termine del corso, coloro che avranno partecipato ad almeno l'80% delle lezioni riceveranno un attestato di frequenza.
È consigliabile avere già competenze di base di programmazione.