Corso C#: corso di programmazione C Sharp

Durata: 4 giorni

icona web
Live Online
in presenza
In presenza
icona web
Live Online
in presenza
In presenza

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.

icona live

Sessioni live interattive

Lezioni in diretta con spazio per domande e confronto.
icona pratico

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

icona trainer

Trainer esperti e certificati

Formatori con esperienza concreta in ambito aziendale.
icona aggiornamento

Contenuti sempre aggiornati

Materiale sempre in linea con le novità del settore.
icona open badge

Open Badge digitale

Un certificato digitale, verificabile e condivisibile online.
icona esercitazioni

Esercitazioni guidate

Attività pratiche con il supporto diretto del docente.
icona registrazione

Registrazioni disponibili

Rivedi le lezioni quando vuoi per 3 mesi.
icona supporto

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

Seleziona il numero di partecipanti:
One to One
2
3
Più di 3

€ 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.

ethical hacker open badge web

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:

Promo ×