Guida completa per imparare il C# e il framework .NET

✨ Perché imparare il C# oggi?

Itamde è anche una scuola di programmazione online.

Che tu sia un principiante o un esperto, impara i linguaggi migliori, padroneggia tutti i concetti essenziali e diventa un programmatore web da casa tua. Anche se non hai mai programmato prima.

Versatile, potente e profondamente radicato nell’ecosistema .NET, C# è molto più di un semplice linguaggio di programmazione: è una porta d’accesso alla creazione di applicazioni moderne, robuste e multipiattaforma. Che il vostro sogno sia sviluppare un gioco con Unity, creare un sito web interattivo in ASP.NET o progettare strumenti professionali efficienti, C# vi offre i mezzi per realizzarlo, senza dover reimparare tutto da capo ad ogni progetto.

Questa guida è pensata per accompagnarvi passo dopo passo, dalle basi del linguaggio alle nozioni avanzate come la programmazione orientata agli oggetti, la strutturazione del codice o l’integrazione in progetti concreti.

Niente panico se siete alle prime armi: ogni tutorial è concepito per essere comprensibile, progressivo e applicabile. E se avete già un po’ di esperienza, qui troverete ciò che vi serve per affinare la vostra padronanza e strutturare meglio i vostri progetti.

Guida alla programmazione C#

C# è un linguaggio di programmazione a oggetti sviluppato e mantenuto da Microsoft, molto simile a C++ e Java. Si tratta di uno dei linguaggi più potenti per manipolare gli oggetti del framework .NET.

Il C-Sharp è un linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft all’interno dell’iniziativa .NET, e successivamente approvato come standard dalla ECMA (ECMA-334) e ISO (norma ISO/IEC 23270).

In questa guida, partendo dalla teoria e con molti esempi pratici, mostreremo come utilizzarlo, sfruttando i principali strumenti di sviluppo.

Il corso: Fondamenti di programmazione: le basi del linguaggio C#

  • Array e vettori in programmazione: la guida completa

    Quando ti avvicini al mondo della programmazione, prima o poi ti imbatterai in una struttura dati fondamentale che rappresenta uno dei mattoni base di qualsiasi linguaggio: l’array, chiamato anche vettore. Ma cosa rende questa struttura così importante e perché praticamente ogni linguaggio di programmazione la include nel proprio arsenale di strumenti? Cosa sono gli array…

  • È meglio… GetMouseButtonDown o GetKeyDown?

    Oggi confrontiamo GetMouseButtonDown e GetKeyDown! Quale di questi due metodi può essere utilizzato per rilevare i clic del mouse del giocatore? Questo è quello che vedremo oggi! Effettuare delle azioni dopo un clic, in un gioco, è un’azione abbastanza corrente. Il framework Unity non fa eccezione. È possibile individuare il clic del mouse, ad esempio,…

  • Programmare in C# – Le Variabili

    Per iniziare a programmare in C# avremo bisogno di variabili. Ma cos’è esattamente una variabile? Una variabile identifica una parte di memoria che serve a contenere dei dati modificabili nel corso dell’esecuzione di un programma (contenitore). Una variabile è caratterizzata da un nome (sequenza di caratteri e cifre) e da un valore. Un’espressione è la…

  • Programmare in C# – Le funzioni e i metodi

    Funzioni e Valori di Ritorno in C# A volte ci capita di aver necessità di nuove funzioni, funzioni di calcoli, verifiche o procedure ripetute. Una funzione ci aiuta incredibilmente nel nostro programma facendoci risparmiare migliaia di righe di codice. Sopratutto quando abbiamo necessità di eseguire codici ripetuti ma in diverse situazioni con risultati diversi. Una…

  • Programmare in C# – Le istruzioni condizionali (if, else, switch)

    In qualsiasi linguaggio di programmazione le istruzioni condizionali permettono di verificare determinate condizioni come ad esempio l’uguaglianza, la disuguaglianza o semplicemente se un elemento è maggiore di un altro. Queste istruzioni sono utilizzate per consentire al programma di “prendere decisioni” a seconda del verificarsi o meno di una data condizione. In C# esistono due costrutti…

  • Unity3D: Programmare in C# – GameObjects

    GameObjects in Unity I “gameobjects” sono i mattoni fondamentali di ogni gioco realizzato, ovvero tutti gli objets che utilizziamo in Unity 3D. Il linguaggio C# ci permette di agire su questi gameobjects, ed è quello che vedremo in questo mini tutorial. Quasi tutto ciò che viene visualizzato sulla finestra di Unity è un GameObject. Ogni…

  • Unity3D: programmare in C# – le funzioni OnTrigger

    In Unity, i trigger sono una versione speciale di Collider. Questi servono alla creazione di oggetti non tangibili, di cui però si vogliono comunque rilevare le collisioni. È il caso ad esempio di un gioco d’avventura (o piattaforme), in cui di solito si usano dei cubi invisibili per creare delle “aree interruttore” (trigger, appunto) in…

  • Programmare in C# – Unity e Raycast

    In questo tutorial impareremo a utilizzare i Raycast in Unity3D. Definizione di un Raycast Innanzitutto, dobbiamo chiederci cos’è un Raycast. Per dirla con parole semplici, il Raycast potrebbe essere paragonato a un raggio di luce che va in linea retta su una data distanza. Questo raggio ci consentirà di verificare se si viene a contatto…

  • Programmare in C# – I cicli

    In alcune situazioni c’è la necessità di ricorrere a dei cicli o istruzioni di iterazione. In C#, questi possono essere costruiti grazie a quattro tipi di cicli: while, do-while, for e foreach. Le istruzioni di iterazione possono essere utilizzate per creare cicli per fare in modo che le istruzioni incorporate siano eseguite un determinato numero…

  • Unity3D: Programmare in C# – Coroutine

    Coroutine di Unity3D in dettaglio Innanzitutto è essenziale capire che i motori di gioco (come Unity 3D) lavorano su un paradigma “frame based“. Questo significa che il codice viene eseguito durante ogni frame. Quando si pensa a questi, è importante capire che è complicato sapere quando i frame sono eseguiti. Non sono eseguiti secondo un ordine ben…

  • Programmare in C# – Vettori (Arrays)

    In questo tutorial vedremo come gestire gli arrays in C#. Innanzitutto bisogna sapere che un array è una variabile che contiene più elementi che vengono gestiti tramite un indice. Gli arrays in C# vanno dichiarati specificando il nome, la dimensione ed il tipo di dati che devono contenere. Possiamo creare arrays di qualunque tipo (numerica,…

  • Programmare in C# – Le liste (Lists)

    Le liste in C# Una lista (lists), in C#, rappresenta un elenco di oggetti fortemente tipizzato accessibile per indice. Fornisce metodi per la ricerca, l’ordinamento e la modifica degli elenchi. Esempio: In questo tutorial, proveremo a sfruttare al massimo una struttura rendendola disponile per un nostro array customizzato. Per comprendere al meglio basta seguire la…

  • Unity3D: programmare in C# – Gestione dell’Input

    In questo tutorial vedremo come gestire l’input da bottoni o tasti, quindi gestiremo periferiche come tastiere o joypad come quello dell’Xbox One. La classe Input La classe Input in Unity fornisce una serie di funzioni statiche necessarie per gestire l’input. Unity registra l’input di continuo e ad ogni ciclo del gioco possiamo effettuare un polling,…

  • Programmare in C# e Unity3D – L’input da mouse, touch e sensori

    Proseguendo con il discorso sull’input, parliamo ora degli input provenienti da mouse, oppure dall’accelerometro o dal touch screen di un device. Input del mouse Così come abbiamo fatto per l’input da tastiera, anche per il mouse è disponibile una funzione che rileva la pressione dei vari tasti, a cui è necessario passare solo l’indice del…

  • Linguaggi di programmazione web: i linguaggi più utilizzati per il web

    Che si guardino video su YouTube, ci si colleghi con partner commerciali tramite LinkedIn o si legga un articolo su Wikipedia, nei siti web con un elevato numero di visite di norma non si riscontrano problemi di funzionamento. Soltanto chi intende realizzare da sé un sito web si chiede quali differenti script vengano eseguiti in…

  • Un Metodo in programmazione: guida completa per sviluppatori

    Un metodo è una funzione definita all’interno di una classe che specifica il comportamento degli oggetti di quella classe. I metodi consentono di eseguire operazioni specifiche su un oggetto, manipolare i dati, interagire con altre classi e fornire funzionalità specifiche all’interno del contesto della classe. Un metodo è composto da un nome, un elenco di…

  • Una classe in programmazione: guida completa per sviluppatori

    In programmazione orientata agli oggetti (POO), una classe è una struttura che definisce le caratteristiche e il comportamento di un oggetto. È un modello o un prototipo che descrive le proprietà e i metodi comuni a un insieme di oggetti simili. Le classi sono fondamentali nella POO perché consentono di creare oggetti, che sono le…

  • C#: leggere file di testo con StreamReader

    La classe “StreamReader” fa parte del namespace “System.IO” ed è utilizzata per leggere i dati da un flusso di input, come ad esempio un file di testo. Fornisce metodi per la lettura di caratteri, linee di testo o blocchi di testo da un flusso di dati. Ecco un esempio di utilizzo della classe “StreamReader” per…

  • Un namespace in programmazione: guida completa per sviluppatori

    I namespace sono un meccanismo utilizzato nel linguaggio di programmazione C# per organizzare e raggruppare logicamente le classi, gli interfacce, le strutture e altri elementi del codice. Essi forniscono un’organizzazione gerarchica e evitano possibili conflitti di nomi tra le diverse parti del codice. I namespace consentono di creare una struttura a livelli nel tuo progetto,…

  • “Using System”: guida completa per sviluppatori

    “using System” è una dichiarazione che viene utilizzata nel linguaggio di programmazione C# per indicare l’utilizzo del namespace “System“. Il namespace “System” contiene una vasta gamma di classi e tipi che forniscono funzionalità di base per lo sviluppo di applicazioni C#. Ad esempio, include tipi fondamentali come “String“, “Int32” e “Boolean“, nonché classi per l’input/output,…