C#
Fondamenti del linguaggio C#
- Il CLR, l'IL e il JIT.
- Note sulla sintassi.
- Tipi di dati.
- Operatori e operazioni.
- Precedenze degli operatori.
- Caratteri di escape.
- Le versioni del Framework.
Istruzioni principali
- Commenti.
- Costanti.
- Operatori di assegnazione composti.
- Istruzioni 'if' e 'switch'.
- Istruzioni 'while', 'for' e 'do'.
- Operazioni tra bit.
Compilazione di programmi C#
- La compilazione con linea di comando.
- Una applicazione "Windows Form" senza IDE.
Tips & Tricks Visual Studio
- Aprire e chiudere porzioni di codice.
- Breakpoint condizionale.
- Selezione rettangolare.
- Uso di TODO, HACK (Task List).
- Appunti estesi.
- Definire un metodo da alcune righe di codice.
- Scrivere velocemente le proprietà di una classe.
- Rinominare una Soluzione.
I Tipi in C#
- Tipi valore e tipi riferimento.
- Il metodo GetType().
- L'operatore typeof().
- Conversioni tra tipi.
Stringhe
- Generalità.
- Proprietà.
- Metodi.
- Esempi.
- Parte sinistra e parte destra di una stringa.
Array
- Definizione.
- Array multi-dimensionali.
- Copia di array.
- Verificare che due array siano uguali.
- La classe ArrayList.
- La classe Queue.
- La classe Stack.
- La classe HashTable.
- La classe SortedList.
Conversioni
- Conversioni implicite ed esplicite.
- Array di byte -> Stringa.
- Array di char -> Stringa.
- Array di char -> Array di byte.
- ASCII -> Char.
- ASCII -> Stringa.
- Char -> ASCII.
- Stringa -> Array di byte.
- Stringa -> Array di char.
- Stringa -> Char.
- Stringa -> Numero/Data.
- Integer -> Esadecimale.
- Little-endian / Big-endian -> Integer.
Strutture di dati: Generics
- Generics.
- Esempio: metodo con Generic.
- Esempio: classe con Generic.
- List<T>.
- Dictionary<TKey, TValue>.
La gestione delle eccezioni
- Le parole chiave 'try', 'catch', 'finally' e 'throw'.
- Inner Exception.
- Definire nuove eccezioni (Custom Exceptions).
Classi e oggetti: definizioni
- Programmazione a oggetti.
- Rappresentazione di una classe in UML.
- Incapsulamento, Ereditarietà e Polimorfismo.
Classi e oggetti in C#
- Definizione di una classe.
- Creazione di oggetti.
- Costruttore e distruttore della classe.
- Classi parziali.
- Esempio: classe Point con diverse sintassi.
- Esempio: classe Circle.
- Classe con più costruttori.
Metodi in C#
- Metodi.
- Passaggio parametri a un metodo.
- Parametri per nome.
- Parametri opzionali.
- Metodi con overload.
- Metodi con array di parametri.
- Passaggio di un parametro per valore / riferimento.
Ereditarietà (Inheritance)
- Cos'è l'Ereditarietà.
- Esempio con ereditarietà tra classi.
- Hiding.
- Override.
- Differenza tra Hiding e Override.
Interfacce e Classi Astratte
- Interfacce.
- Interfaccia IDisposable.
- Esempio di Interfaccia.
- Classi Astratte.
- Esempio di classe Astratta.
- Differenze tra Interfacce e Classi Astratte.
Delegati
- Definizione ed esempio.
- Un esempio Console.
- Esempio di estrazione oggetti da una lista.
- Delegati Multicast.
Attributi (Attributes)
- Cosa sono gli attributi.
- L'attributo [Obsolete].
- L'attributo [Seriazable].
Reflection
- Cos'è la Reflection.
- Reflection per ispezionare un oggetto.
- Reflection per eseguire un metodo.
Controlli Utente (User Control)
- Introduzione.
- Creazione ed utilizzo di uno User Control.
- Progetto di una ProgressBar.
- Introduzione.
- Creazione della ProgressBar.
- Riassunto Proprietà / Eventi.
- Sorgenti e DLL.
Lavorare con i file
- Recuperare le informazioni relative a un file.
- Controllo esistenza di un file / di una directory.
- Controllo validità del nome del file.
- Attributi di un file.
- Lettura e scrittura di un file testo.
- Lettura e scrittura di un file binario.
- Rinominare / Muovere un file.
- Cancellazione multipla di file.
- Copiare una directory.
- Lista dei file di una directory.
- Fusione (o merge) di più file.
Lavorare con i Form
- Tips vari.
- Aprire un form figlio di un form MDI.
- Aprire un form modale.
- Impostare il BackColor in un form MDI.
- Ciclare tra tutti i form aperti.
- Cambiare form di avvio di un programma.
- Intercettare la pressione dei tasti dal form.
- Annullare la chiusura di un form.
- Il problema dei form e dei font sfocati.
Lavorare con i TextBox
- Alcune proprietà importanti.
- Conversione di caratteri.
- Inserimento solo di cifre.
- Inserimento solo di numeri telefonici.
- Intercettare la pressione di un tasto.
- Inserimento di un numero decimale.
Lavorare con i ComboBox
- Un modo per utilizzare il ComboBox.
- Impostare il colore di sfondo (DropDownList).
Lavorare con i TabControl
- Alcune proprietà importanti.
- Nascondere le pagine e i bordi di un TabControl.
- Colorare le linguette di un TabControl.
Lavorare con le DataGridView
- Alcune proprietà importanti.
- Cella corrente, prima riga e prima colonna.
- Impostare stili.
- Aggiungere colonne runtime.
- Caricare dati da una lista di oggetti.
- Celle selezionate.
- Testo multilinea nelle celle.
- Celle lampeggianti in base al valore.
- Celle colorate in base al valore.
- Introduzione.
- Esempio.
Lavorare con database Access MDB
- Creazione di un database.
- Aggiunta di una tabella.
- Aggiunta di una colonna.
- Query di esecuzione.
- Query di selezione.
Lavorare con database Access ACCDB
- Note introduttive.
- Classe di interfaccia.
- Database di test.
- Query di esecuzione.
- Query di esecuzione in transazione.
- Query di selezione scalare.
- Query di selezione.
- Elaborazione di righe.
Lavorare con database MySql
- Note sulle installazioni.
- Riferimenti al progetto Visual Studio.
- Una classe di interfaccia.
- Tabella di esempio.
- Query di selezione (in un DataReader).
- Dal DataReader al DataTable.
- Query di selezione (in un DataTable).
- Caricare una DataGridView.
- Query di selezione scalare.
- Query di aggiornamento.
Common Dialog
- Introduzione.
- OpenFileDialog.
- SaveFileDialog.
- ColorDialog.
- FontDialog.
- FolderBrowserDialog.
Entity Framework
- Entity Framework.
- Installare l'Entity Framework nel progetto.
- Creare l'Entity Data Model (EDM).
- Aggiornare l'Entity Data Model.
- Utilizzare l'Entity Data Model (Select, Insert, Update, Delete).
Lavorare con Excel
- Introduzione.
- Gli oggetti principali.
- Creazione di un file.
- Apertura di un file esistente.
- Aggiunta di altri Sheet.
- Scrittura e formattazione di celle.
- Inserimento di formule.
- Impostare la larghezza delle colonne.
- Esempio completo.
Thread
- Proprietà del thread corrente.
- Creazione di un thread con un delegato.
- Thread background e foreground.
- Attendere che un thread finisca.
- Bloccare un thread.
- Priorità di un thread.
Thread e condivisione di variabili
• Condivisione di variabili.
• Lock tra thread e condivisione di variabili.
Vai alla pagina
Programmazione asincrona (async, await)
- Esempio 1: Processi sincroni.
- Esempio 2: Task asincroni.
Come si fa: esempi vari, parte 1
- Arrotondare una variabile decimale.
- Generazione di numeri casuali.
- Messaggi (MessageBox).
- Avviare o terminare un altro processo.
- Checksum di un barcode EAN13.
- Passare degli argomenti ad un programma.
- Controllare la pressione di un bottone in un evento.
- Rilevare i tempi di esecuzione.
- Verificare che una stringa sia numerica.
- Impostare l'icona dell'applicazione.
- Versione del file e dell'assembly.
- Applicazione nella System Tray.
- L'algoritmo della Pasqua.
Come si fa: esempi vari, parte 2
- Verificare se il programma è già in esecuzione.
- Ricavare un IP da un URL.
- Clonare un dictionary (o un oggetto generico).
- Generare un nuovo GUID.
- Crittografia con algoritmo MD5.
- Nome della classe e del metodo con la Reflection.
- Parametri di configurazione nel file 'App.config'.
- Estrarre tutti i menu da un MenuStrip.
- Ricavare le informazioni sui drive installati.
- Eseguire un comando DOS (prompt dei comandi).
- Eseguire un metodo dato il nome.
- Aggiungere un Tooltip ad una Label.
Come si fa: esempi di grafica
- Disegnare una immagine in una picture.
- Linee, poligoni, cerchi, stringhe.
- Label con forma non rettangolare.
- Ridurre le dimensioni di una immagine.
- Ritaglio di una immagine (Crop).
Grafica - L'insieme di Mandelbrot
- Le coordinate nelle PictureBox.
- Disegnare in coordinate cartesiane.
- Spostare l'origine degli assi.
- Il piano complesso.
- L'insieme di Mandelbrot.
- Disegnare l'insieme di Mandelbrot.
Classi utili
- Classe per verificare il Codice Fiscale.
- Classe CV-Log per generare il log delle applicazioni.
- Classe per leggere e scrivere i file *.ini.
- WMI - Windows Management Instrumentation.
- Esempio di utilizzo del WMI.
- Volume Serial Number e Hard Disk Serial Number.
- Esplorare il WMI.
Creare un Servizio Windows
- Codice del progetto.
- Compilare il servizio.
- Installare / Disinstallare il servizio (nella macchina di sviluppo).
- Start / Stop del servizio.
- Debug del codice.
Serializzazione e Deserializzazione in XML (Serialization and Deserialization)
- Serializzazione: oggetto -> stringa.
- Serializzazione: oggetto -> file.
- Attributi.
- Deserializzazione: stringa -> oggetto.
- Deserializzazione: file -> oggetto.
- Deserializzazioni complesse.
- Lettura nodo singolo.
- Letura nodi multipli.
- Modifica nodi.
- Scrittura nuovo file XML.
- Aggiunta di un nodo ad un file XML.
- Rimozione di un nodo da un file XML.
Audio
- Suonare un segnale acustico.
- Suonare un file wav.
- Suonare un file audio con Windows Media Player.
- I File RIFF.
- Decodificare i file RIFF.
- I File WAV.
- Decodificare i file WAV.
Algoritmi numerici
- Verificare se un numero è un numero primo.
- Trovare numeri primi con il Crivello di Eratostene.
- Massimo Comun Divisore (Algoritmo di Euclide).
- Calcolare il fattoriale di un numero.
- Fattorizzazione di un numero.
Permutazioni e Combinazioni
• Lista ordinata delle permutazioni.
• Estrazione di una specifica permutazione.
• Lista ordinata delle combinazioni.
Vai alla pagina
Algoritmi sui grafi
- L'algoritmo di Floyd-Warshall (cammini minimi).
- L'algoritmo di Kruskal (albero minimo).
- L'algoritmo di Dijkstra (albero minimo).
- Introduzione.
- Determinante di una matrice 2x2.
- Determinante di una matrice nxn.
- Determinante con C#.
- Sistemi di equazioni lineari.
- Metodo di Cramer.
- Metodo di Cramer con C#.