CORSO AZIENDALE PRATICO DI LINGUAGGIO C#:

Impara C Sharp da Zero e Migliora la Tua Carriera Lavorativa come Sviluppatore

DURATA: 4 giorni

Padroneggia i fondamenti di C# e .NET Framework con numerosi esercizi pratici:

  • Lavora con i Tipi Primitivi e le Espressioni
  • Comprendi le Classi e le Strutture Dati
  • Controlla il Flusso dei Programmi utilizzando le Istruzioni Condizionali
  • Impara ad usare le Collection e LINQ
  • Utilizza i Modelli di Programmazione Asincrona con Async e Await
  • E molto altro ancora…
Programmazione C# 9.0

Programma di Programmazione C# 9.0

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

  • 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: Exceptions

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

  • 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 del Corso C#

Il Corso di Programmazione C# è rivolto a:

  • chi desidera diventare uno svilupattore software C# partendo da zero, e ti permetterà di iniziare a lavorare nel settore dello sviluppo software, migliorando la tua carriera lavorativa e la tua soddisfazione personale.

Il programmatore software è diventata una delle figure più ricercate nel mondo del lavoro. C# è un potente linguaggio di programmazione multipiattaforma, che può essere utilizzato per creare una varietà di applicazioni, quali ad esempio:

  • Applicazioni Web (con ASP.NET Core, Razor, Blazor)
  • Mobile Apps iOS/Android/Windows (con Xamarin e Visual Studio)
  • Applicazioni Desktop (con WPF)
  • Videogame (con Unity 3D o Godot Engine)

C# è inoltre uno dei linguaggi più utilizzati dalle grosse aziende operanti nel settore dell’Information Tecnology.

    linguaggio-di-programmazione-c
    Corso-di-Programmazione-C-9.0

    Cosa saprai fare alla fine del Corso di Programmazione C#

    Al termine del corso i partecipanti saranno in grado di:

    • utilizzare le competenze acquisite per implementare e controllare processi di business strategici per la propria impresa;
    • automatizzare e velocizzare attività e procedure d’ufficio, migliorando la gestione aziendale.

    Avere formazione nello sviluppo software può essere un buon investimento per la tua carriera e la tua azienda, in quanto potrai acquisire più credibilità di fronte al cliente e al tuo team di lavoro, diventando una risorsa particolarmente preziosa. Saper programmare migliorerà la tua capacità di collaborare con i team tecnici e potrà darti modo di ampliare le tue mansioni o di intraprendere un nuovo percorso professionale.

    Impara facendo…

    Metti in pratica ciò che apprendi direttamente in ambiente Virtuale

    Durante il corso avrai la possibilità di accedere ad ambienti basati su Hypervisor Microsoft Hyper-V dove andrai a testare le nozioni apprese simulando scenari anche complessi.

    Corso di Programmazione C#
    Materiale formativo corso

    Materiale per il corso di Programmazione C# 9.0 a disposizione sempre aggiornato

    Il corso è continuamente aggiornato sia come ambiente di programma sia come ambiente di laboratorio

    Oltre al materiale in formato PDF relativo a tutti i moduli del corso, saranno messi a disposizione ulteriori e-book di ulteriore approfondimento sui temi più importanti.

    Continuum Formativo

    Viene creato un supporto Telegram attraverso il quale, per una durata di 30 gg, è prevista la partecipazione ad un gruppo di lavoro all’interno del quale saranno proposti dei “reminder” e dei suggerimenti per l’utilizzo professionale di quanto appreso, in modo da permettere di proseguire con il processo di autoformazione.

    Corso di Programmazione C#

    Prenota il tuo corso di Programmazione C# 9.0

    Scegli le date che preferisci, indicaci se desideri un corso presso la tua azienda, on-line o in Aula a Verona

    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:

    Acconsento al trattamento dei dati personali ai sensi del Regolamento Ue 679/2016. Vedi Privacy e Cookie Policy

    Desideri parlare con l’insegnante?

    Il contatto Telefonico è attivo dal lunedì al venerdì dalle 8:00 alle 18:00 al numero 0452456669.

    FAQ CORSO DI PROGRAMMAZIONE C# 9.0

    Quanto costa?

    Il corso ha dei costi fissi ed una tariffa per singolo partecipante, sostanzialmente differente da quella relativa alla partecipazione in gruppo della stessa azienda, contattaci per un preventivo personalizzato in base al numero di partecipanti.

    E' possibile partecipare al corso nella mia azienda?

    Se hai difficoltà a staccarti dalla tua azienda e devi in qualche modo gestire la presenza in sede, possiamo organizzare il corso direttamente presso la tua sede: ci basta un’aula ed eventualmente un videoproiettore; al resto ci pensiamo tutto noi.

    Il corso è propedeutico all'esame di certificazione microsoft?

    Il corso non prevede un corrispettivo esame di certificazione Microsoft, ma è orientato alle competenze.

    Il corso prevede dei laboratori

    Il corso prevede l’utilizzo di laboratori da noi personalizzati al fine di testare le nozioni apprese durante la parte teorica del corso.