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 ecertificati

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

FAQ Corso C#

Q: Quali sono i pilastri della programmazione ad oggetti (OOP) affrontati nel corso C#?

A: Il corso fornisce una padronanza profonda del linguaggio C# e del framework .NET. Imparerai i concetti fondamentali della programmazione orientata agli oggetti (OOP) come incapsulamento, eredità e polimorfismo. Il programma approfondisce la gestione delle eccezioni, l'uso delle collezioni e le basi di LINQ per l'interrogazione dei dati, permettendoti di scrivere codice robusto, tipizzato e facilmente manutenibile.

Q: In che modo l'approccio dei trainer-sviluppatori Nexsys accelera l'apprendimento?

A: I nostri docenti sono sviluppatori senior che scrivono codice C# per progetti consulenziali complessi ogni giorno. In aula non vedrai solo slide, ma demo operative in ambienti di sviluppo reali (Visual Studio). Questo taglio pratico ti permette di apprendere non solo la sintassi, ma anche le "best practice" di architettura software e i trucchi del mestiere per il debugging e l'ottimizzazione del codice.

Q: È possibile personalizzare il corso C# per un team di sviluppo aziendale?

A: Certamente. Nexsys offre la modalità dedicata che permette di calibrare il programma sul livello di partenza del team (da Junior a Senior). In questo caso, il corso assume un taglio consulenziale, potendo focalizzarsi su specifiche tecnologie come ASP.NET Core o l'integrazione con database. Le sessioni sono in italiano, con orari e giorni concordati reciprocamente.

Q: Quale supporto è previsto dopo la fine del corso per chi inizia a sviluppare in C#?

A: Sappiamo che le sfide di compilazione più insidiose arrivano quando sei solo davanti al tuo progetto. Per questo, Nexsys garantisce un supporto post-formazione via mail direttamente con il docente. Inoltre, avrai accesso alle registrazioni delle lezioni per 3 mesi per rivedere i passaggi logici più critici e riceverai l'Open Badge digitale che certifica ufficialmente le tue competenze di sviluppatore C#.

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 ×