Corso C#: corso di programmazione C Sharp
Corso C#: corso di programmazione C Sharp
Durata: 4 giorni
Live Online
In presenza
Live Online
In presenza
Formazione Programmazione C#
Il corso C#: Linguaggio e programmazione introduce i partecipanti all’uso pratico di uno dei linguaggi più versatili per lo sviluppo software. Attraverso esercitazioni e progetti reali, il corso copre la sintassi di C#, la programmazione su framework .NET e lo sviluppo di applicazioni Web, mobile e desktop. I partecipanti acquisiranno competenze fondamentali per progettare e realizzare soluzioni software efficienti e scalabili.
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#
Programma del Corso
Modulo 1: Presentazione di ASP.NET Core
- 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: Installazione e configurazione
- 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.
Perché scegliere il corso
Il corso di programmazione C# di Nexsys è un’opportunità essenziale per acquisire competenze tecniche applicabili nello sviluppo software. Formarsi con esperti qualificati e materiali aggiornati permette di apprendere in modo efficace, mentre l’approccio flessibile e le esercitazioni pratiche garantiscono un’applicazione immediata delle conoscenze in contesti reali.
€ 1500 + IVA a partecipante
Quotazione garantita per formazione online con minimo 3 iscritti della stessa azienda
Quotazione garantita per formazione online
con minimo 3 iscritti della stessa azienda
Prossima edizione
Al momento non sono disponibili sessioni a calendario
Online – Live Virtual Class
A chi è rivolto
-
- Professionisti IT
- Sviluppatori Web
- Sviluppatori software
Cosa troverai
Formatori esperti certificati
I nostri docenti operano professionalmente in materia di sicurezza informatica in ambienti aziendali.
Risorse formative e laboratori aggiornati
Il corso è aggiornato costantemente per garantire un’esperienza formativa coerente con l’evoluzione degli attacchi Ransomware.
Multicanalità
Potrai scegliere di svolgere il corso sia in presenza che online.
Certificato di completamento
Riceverai un attestato di partecipazione personalizzato in formato Open Badge.
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: