Corso C#: corso di programmazione C Sharp
Durata: 4 giorni
Formazione Programmazione C#
Il Corso Programmazione C# guida i partecipanti alla scoperta pratica di uno dei linguaggi più versatili per lo sviluppo software, combinando teoria e applicazioni concrete. Attraverso esercitazioni e progetti reali, si esplorano la sintassi del linguaggio, la programmazione su framework .NET e lo sviluppo di applicazioni Web, mobile e desktop, fornendo competenze fondamentali per progettare soluzioni software efficienti e scalabili.
Grazie a formatori esperti e materiali sempre aggiornati, il percorso offre un apprendimento efficace e immediatamente applicabile, permettendo di integrare le conoscenze acquisite in contesti professionali reali con approccio tecnico e pratico.
Sessioni live interattive
Lezioni in diretta con spazio per domande e confronto.Approccio pratico
Esercitazioni e casi reali per mettere in pratica ciò che impari.Cosa imparerai
- Comprendere le basi del linguaggio C#
- Gestire la memoria e i tipi di dati
- Creare e utilizzare variabili e metodi
- Progettare e implementare classi
- Utilizzare i concetti di ereditarietà
- Utilizzare struct ed enumerazioni
- Utilizzare interfacce e delegate
- Gestire liste, dizionari
- Utilizzare set e altre strutture dati
- Applicare LINQ per la manipolazione dei dati
- Gestire covarianza e controvarianza in C#
I vantaggi della formazione Nexsys
Trainer esperti e certificati
Formatori con esperienza concreta in ambito aziendale.Contenuti sempre aggiornati
Materiale sempre in linea con le novità del settore.Open Badge digitale
Un certificato digitale, verificabile e condivisibile online.Esercitazioni guidate
Attività pratiche con il supporto diretto del docente.Registrazioni disponibili
Rivedi le lezioni quando vuoi per 3 mesi.Supporto post-corso
Assistenza anche dopo la fine del corso, per chiarimenti e approfondimenti.Personalizza la tua formazione
Il corso può essere riprogettato su misura delle esigenze formative della tua azienda o di un gruppo di lavoro. Contenuti, durata e modalità sono personalizzabili per garantire coerenza con i tuoi obiettivi, tempi e budget.
Programma del Corso
Modulo 1: C# Language Basics
- Il Nostro Primo Programma
- Identificatori
- Parole Chiave
- Parole Chiave Contestuali
- Il Metodo Main
- Valori Letterali
- Punteggiatori
- Operatori
- Commenti
- Programmi e Tipi C#
- Un Tipo è un Template
- Istanziare un Tipo
- Tipi: Membri Dati e Funzione
- Tipi Predefiniti
- Tipi Definiti Dall’Utente
- Tipi e Uso della Memoria
- Memoria Stack
- Memoria Heap
- Value-Type e Reference-Type
- Allocazione dei Value-Type
- Allocazione dei Reference-Type
- Value-Type
- Reference-Type
- Variabili
- Dichiarazione di una Variabile
- Inizializzazione di una Variabile
- Dichiarazioni di Variabile Multiple
- Tipi Nullable
- Variabili Locali con Tipo Implicito (Var)
- Tipi e Conversioni
- Conversioni Numeriche Integrali
- Conversioni Numeriche Floating-Point
- Conversioni tra FP e Integrali
- Conversioni tra Tipi Nullable e Non-Nullable
- Conversioni Boxing
- Conversioni Unboxing
- Boxing e Unboxing: Considerazioni
- Tipi e Operatori Booleani
- Tipi e Operatori Condizionali
- Tipi e Operatore Ternario
- Il Tipo String
- Concatenazione di Stringhe
- Interpolazione di Stringhe
- Array
- Initializzazione Predefinita degli Elementi
- Value-Type contro Reference-Type
- Indici dell’Array
- Index Type
- Range
- Array Multidimensionali
- Array Rettangolari
- Array Jagged
- Rappresentazione in memoria
- Array e Bound Checking
- Metodi
- Parametri di un Metodo
- Modificatori di Parametro
- Passaggio di Argomenti “Value-Type” By Value
- Passaggio di Argomenti “Reference-Type” By Value
- Passaggio di Argomenti “Value-Type” By Reference
- Passaggio di Argomenti “Reference-Type” By Reference
- Passaggio di Argomenti By Input Reference
- Parametri di un Metodo
- Passaggio di Argomenti By Output Reference
- Parametri Opzionali
- Espressioni e Operatori
- Espressioni Primarie
- Espressioni Void
- Espressioni di Assegnazione
- Precedenza degli Operatori
- Associatività degli Operatori
- Operatori Left-Associative
- Operatori Right-Associative
- Operatori Principali
- Operatore Condizionale
- Operatori Null
- Operatore Null-Coalescing
- Operatore di Assegnazione Null-Coalescing
- Operatore Null-Conditional
- Statement
- Empty Statement
- Declaration Statement
- Variabili Locali
- Expression Statement
- Selection Statement
- If Statement
- La Clausola Else
- Switch Statement
- Switch Expression
- Iteration Statement
- Cicli while
- Clicli do-while
- Cicli for
- Cicli foreach
- Scope delle Variabili negli Statement For
- Jump Statement
- Break Statement
- Continue Statement
- Return Statement
- Throw Statement
- Using Statement
- Namespace
- La Direttiva Using
Modulo 2: Classi
- Cos’è una Classe
- Dichiarazione di una Classe
- Campi della Classe
- Inizializzazione di un Campo
- Campi ReadOnly
- Costanti
- Metodi della Classe
- Istanza di Classe
- Membri dell’Istanza di Classe
- Campi Statici
- Modificatori di Accesso Private / Public
- Altri Modificatori
- Accesso ai Membri di Classe
- La Direttiva Using Static
- Costanti VS Campi Statici ReadOnly
- Funzioni Statiche
- Proprietà
- Esecuzione di Logica
- Proprietà ReadOnly
- Proprietà WriteOnly
- Proprietà VS Campi Pubblici
- Proprietà Computed ReadOnly
- Auto Properties
- Proprietà Statiche
- Proprietà e Modificatori di Accesso
- Overloading dei Metodi
- Costruttori
- Costruttori con Parametri
- Costruttore di Default
- Costruttori Statici
- Inizializzatori di Oggetti
- La Keyword “this”
- Classi Parziali
- Metodi Parziali
Modulo 3: Classi ed Ereditarietà
- Ereditarietà di Classi
- Accesso ai Membri Ereditati
- Derivazione dalla Classe Object
- Mascheramento dei membri di una Classe Base
- Accesso alla Classe Base
- Reference alla Classe Base
- Metodi New
- Metodi Virtual e Override
- Override VS New
- Esecuzione dei Costruttori
- Inizializzatore del Costruttore
- Modificatori di Accesso alla Classe
- Ereditarietà tra Assembly
- Modificatori di Accesso ai Membri
- Accessibilità dei Membri
- Membri Astratti
- Classi Astratte
- Classi Sealed
- Classi Statiche
- Extension Method
Modulo 4: Creazione di un'applicazione di E-Commerce
- Structs
- Le Structs sono Value-Type
- Assegnazione a una Struct
- Costruttore di Istanza
- Costruttore Statico
- Inizializzatori di Proprietà e Campi
- Structs: Return Value e Parametri
- Structs Vs Classes
Modulo 5: Enumerations
- Enumeration
- Impostazione del Tipo Sottostante
- Numerazione Implicita dei Membri
- Bit Flag
Modulo 6: Delegates
- Delegate
- Dichiarazione di un Tipo Delegate
- Come usare un Delegate
- Creazione dell’Oggetto Delegate
- Assegnazione a Variabili Delegate
- Combinazione di Delegate
- Aggiunta di Metodi ai Delegate
- Rimozione di Metodi dai Delegate
- Invocazione dei Delegate
- Metodi Anonimi
- Tipo del Valore di Ritorno
- Scope di Variabili e Parameteri del Metodo Anonimo
- Variabili Esterne al Metodo Anonimo
- Durata di una Variabile Catturata da un Metodo Anonimo
- Espressioni Lambda
- Uso delle Espressioni Lambda
Modulo 7: Interfacce
- Interfacce
- Dichiarazione di un Interfaccia
- Implementazione di un’Interfaccia
- Utilizzo delle Interfacce
- Esempio #1: IUserDataStore
- Esempio #2: IDevice
- Un Interfaccia è un Reference-Type
- Implementazione di Interfacce Multiple
- Implementazione di Interfacce con Membri Duplicati
- Implementazioni Esplicite dei Membri dell’Interfaccia
- Implementazione di un Membro Ereditato
- Interfacce che Ereditano da Altre Interfacce
- Interfacce VS Classi Astratte
Modulo 8: Generics
- Generic
- Classi Generic
- Dichiarazione di una Classe Generic
- Istanza di una Classe Generic
- Esempio di Uso di una Classe Generic
- Vincoli sui Parametri di Tipo
- Metodi Generic
- Inferenza dei Tipi
- Struct Generic
- Delegate Generic
- Interfacce Generic
Modulo 9: Collections
- Collection
- Collection Generic
- List<T>
- Creazione della Lista e Aggiunta di Valori
- Aggiunta di una Collection alla Lista
- Accesso agli Elementi di una Lista
- Inserimento di Elementi in una Lista in una data Posizione
- Controllo della presenza di Elementi nella Lista
- Aggiornamento degli Elementi della Lista
- Rimozione degli Elementi dalla Lista
- Dictionary<TKey, TValue>
- Creazione del Dictionary e Aggiunta di Valori
- Accesso agli Elementi di un Dictionary
- Accesso tramite Chiave Inesistente
- Controllo della presenza di Elementi nel Dictionary
- Aggiornamento degli Elementi del Dictionary
- Rimozione degli Elementi da un Dictionary
- Hashset<T>
- Creazione dell’HashSet e Aggiunta di Valori
- Accesso agli Elementi dell’HashSet
- Controllo della presenza di Elementi nell’Hashset
- Aggiornamento degli Elementi dell’HashSet
- Rimozione degli Elementi dall’HashSet
- Queue<T>
- Creazione della Queue e Aggiunta di Valori
- Accesso agli Elementi di una Queue
- Controllo della presenza di Elementi nella Queue
- Rimozione degli Elementi dalla Queue
- Stack<T>
- Creazione della Stack e Aggiunta di Valori
- Accesso agli Elementi dello Stack
- Controllo della presenza di Elementi nello Stack
- Rimozione degli Elementi dallo Stack
Modulo 10: Enumerators & Iterators
- Enumerable & Enumerator
- L’interfaccia IEnumerator
- Esempio IEnumerable
- Esempio IEnumerable Generic
- Iterator Block
- Esempio Iterator Block
- Uso dell’Iterator Block per creare un Enumerable
- Uso dell’Iterator Block per creare un Enumerator
Modulo 11: Linq
- Linq
- Provider Linq
- Method Syntax e Query Syntax
- Variabili Query
- Struttura delle Query Expression
- From Clause
- Join Clause
- From Clause
- Let Clause
- Where Clause
- Orderby Clause
- Select…group Clause
- Operatori Query Standard
- Parametri Delegate
- Tipi Delegate Predefiniti LINQ
Modulo 12: Utilizzo dei Controller con le View
- Cosa sono le Exception
- Lo Statement Try
- Gestione delle Exception
- Le classi Exception
- La clausola Catch
- Il blocco Finally
- Lancio delle Exception
Modulo 13: Covariance and Contavariance
- Compatibilità di Assegnazione
- Covarianza
- Controvarianza
- Covarianza e Array
- Controvarianza e Array
- Covarianza e Delegate
- Controvarianza e Delegate
- Covarianza e Delegate Generic
- Parametro Tipo Covariante
- Controvarianza e Delegate Generic
- Parametro Tipo Controvariante
Requisiti
Il corso è accessibile anche a coloro che possiedono poca esperienza pregressa nella programmazione. Non sono richiesti prerequisiti specifici, ma una conoscenza di base della programmazione procedurale e orientata agli oggetti può favorire un apprendimento più rapido ed efficace.
Prezzo per formazione dedicata online
€ 1600 + IVA a partecipante
A chi è rivolto
-
- Professionisti IT
- Sviluppatori Web
- Sviluppatori software
Open Badge digitale
Con i nostri corsi non ricevi un semplice attestato in PDF, ma un badge digitale riconosciuto a livello internazionale, conforme allo standard Open Badge.
È verificabile, condivisibile su LinkedIn e integrabile nel tuo CV, per valorizzare le competenze acquisite in modo moderno, trasparente e affidabile.
Corsi correlati
Preferisci compilare il modulo? Scrivi i tuoi dati qui sotto
Il servizio telefonico è attivo dal lunedì al venerdì dalle 8:00 alle 18:00 al numero 0452456669. Puoi anche compilare il modulo sottostante: