Corso C#: corso di programmazione C Sharp

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

corso di programmazione c#

Al momento non sono disponibili sessioni a calendario

corso di programmazione c#

Online – Live Virtual Class

A chi è rivolto

    • Professionisti IT
    • Sviluppatori Web
    • Sviluppatori software

Cosa troverai

corso di programmazione c#

Formatori esperti certificati

I nostri docenti operano professionalmente in materia di sicurezza informatica in ambienti aziendali.

corso di programmazione c#

Risorse formative e laboratori aggiornati

Il corso è aggiornato costantemente per garantire un’esperienza formativa coerente con l’evoluzione degli attacchi Ransomware.

corso di programmazione c#

Multicanalità

Potrai scegliere di svolgere il corso sia in presenza che online.

corso di programmazione c#

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:

Please enable JavaScript in your browser to complete this form.
My Agile Privacy

Questo sito utilizza cookie tecnici e di profilazione. 

Puoi accettare, rifiutare o personalizzare i cookie premendo i pulsanti desiderati. 

Chiudendo questa informativa continuerai senza accettare. 

Inoltre, questo sito installa Google Analytics nella versione 4 (GA4) con trasmissione di dati anonimi tramite proxy. 

Prestando il consenso, l'invio dei dati sarà effettuato in maniera anonima, tutelando così la tua privacy.