Pagina personale di:
Carlo Vecchio
appunti di C#, R, SQL Server, ASP.NET, algoritmi, numeri
Vai ai contenuti

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.
Vai alla pagina

Istruzioni principali

  • Commenti.
  • Costanti.
  • Operatori di assegnazione composti.
  • Istruzioni 'if' e 'switch'.
  • Istruzioni 'while', 'for' e 'do'.
  • Operazioni tra bit.
Vai alla pagina

Compilazione di programmi C#

  • La compilazione con linea di comando.
  • Una applicazione "Windows Form" senza IDE.
Vai alla pagina

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.
    Vai alla pagina

    Enumerazioni e strutture

    • Enumerazioni (Enum).
    • Strutture (Struct).
    Vai alla pagina

    I Tipi in C#

    • Tipi valore e tipi riferimento.
    • Il metodo GetType().
    • L'operatore typeof().
    • Conversioni tra tipi.
    Vai alla pagina

    Stringhe

    • Generalità.
    • Proprietà.
    • Metodi.
    • Esempi.

    • Parte sinistra e parte destra di una stringa.

    Vai alla pagina

    StringBuilder

    • Metodi.
    • Esempi.
    Vai alla pagina

    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.
    Vai alla pagina

    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.
    Vai alla pagina

    Strutture di dati: Generics

    • Generics.
    • Esempio: metodo con Generic.
    • Esempio: classe con Generic.
    • List<T>.
    • Dictionary<TKey, TValue>.
    Vai alla pagina

    La gestione delle eccezioni

    • Le parole chiave 'try', 'catch', 'finally' e 'throw'.
    • Inner Exception.
    • Definire nuove eccezioni (Custom Exceptions).

    Vai alla pagina

    Classi e oggetti: definizioni

    • Programmazione a oggetti.
    • Rappresentazione di una classe in UML.
    • Incapsulamento, Ereditarietà e Polimorfismo.
    Vai alla pagina

    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.
    Vai alla pagina

    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.
    Vai alla pagina

    Classi statiche e membri statici

    • Classi statiche.
    • Esempio.
    • Membri statici.
    • Esempio.
    Vai alla pagina

    Ereditarietà (Inheritance)

    • Cos'è l'Ereditarietà.
    • Esempio con ereditarietà tra classi.
    • Hiding.
    • Override.
    • Differenza tra Hiding e Override.
    Vai alla pagina

    Interfacce e Classi Astratte

    • Interfacce.
    • Interfaccia IDisposable.
    • Esempio di Interfaccia.
    • Classi Astratte.
    • Esempio di classe Astratta.
    • Differenze tra Interfacce e Classi Astratte.
    Vai alla pagina

    Delegati

    • Definizione ed esempio.
    • Un esempio Console.
    • Esempio di estrazione oggetti da una lista.
    • Delegati Multicast.

    Vai alla pagina

    Attributi (Attributes)

    • Cosa sono gli attributi.
    • L'attributo [Obsolete].
    • L'attributo [Seriazable].

    Vai alla pagina

    Reflection

    • Cos'è la Reflection.
    • Reflection per ispezionare un oggetto.
    • Reflection per eseguire un metodo.

    Vai alla pagina

    Controlli Utente (User Control)

    • Introduzione.
    • Creazione ed utilizzo di uno User Control.

    Vai alla pagina

    • 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.
    Vai alla pagina

    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.
    Vai alla pagina

    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.
    Vai alla pagina

    Lavorare con i RichTextBox

    • Aggiungere testo multicolore.
    Vai alla pagina

    Lavorare con i ComboBox

    • Un modo per utilizzare il ComboBox.
    • Impostare il colore di sfondo (DropDownList).
    Vai alla pagina

    Lavorare con i TabControl

    • Alcune proprietà importanti.
    • Nascondere le pagine e i bordi di un TabControl.
    • Colorare le linguette di un TabControl.
    Vai alla pagina

    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.

    Vai alla pagina

    Lavorare con i TreeView
    • 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.
    Vai alla pagina

    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.

    Vai alla pagina

    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.
    Vai alla pagina

    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).
    Vai alla pagina

    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.

    Vai alla pagina

    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.
    Vai alla pagina

    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.
    Vai alla pagina

    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.

    Vai alla pagina

    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.
    Vai alla pagina

    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).
    Vai alla pagina

    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.
    Vai alla pagina

    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.
    Vai alla pagina

    WMI - Windows Management Instrumentation
    • 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.

    • Installare / Disinstallare il servizio (in altra macchina).
    Vai alla pagina

    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.
    Vai alla pagina

    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.
    Vai alla pagina

    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).
    Vai alla pagina

    • L'algoritmo di Dijkstra (albero minimo).

    Algoritmi di ordinamento

    • Note.
    • Insertion Sort.
    • Shell Sort.
    • Merge Sort.
    Vai alla pagina

    Matrici e sistemi di equazioni lineari
    • 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#.
    Vai alla pagina

    © 2022 Carlo Vecchio
    Torna ai contenuti