Linguaggio C# (Procedure relative a C#)
Aggiornamento: novembre 2007
In questo argomento viene fornito il collegamento alla Guida relativa ad attività comuni correlate al linguaggio C#. Per visualizzare altre categorie di attività comuni descritte nella Guida, vedere Procedure relative a C#.
Linguaggio C#
Novità di Visual C#
Sono contenute informazioni relative alle nuove funzionalità del linguaggio, ad esempio espressioni di query, inizializzatori di insieme, espressioni lambda, tipi anonimi, proprietà implementate automaticamente, metodi parziali e altro ancora. Sono inoltre disponibili collegamenti alle novità dell'IDE di Visual C#.Specifiche del linguaggio C#
Vengono forniti collegamenti alla versione più aggiornata della specifica in formato Microsoft Word.
Riga di comando
Main() e gli argomenti della riga di comando (Guida per programmatori C#)
Viene illustrato il metodo Main, ovvero il punto di ingresso del programma in cui vengono creati oggetti e richiamati altri metodi. In un programma C# può esistere un solo punto di ingresso.Procedura: accedere ad argomenti della riga di comando utilizzando foreach (Guida per programmatori C#)
Viene fornito un esempio di codice in cui viene illustrato come accedere ai parametri della riga di comando.Procedura: visualizzare gli argomenti della riga di comando (Guida per programmatori C#)
Viene illustrato come visualizzare gli argomenti della riga di comando tramite la matrice di stringhe args.Valori restituiti da Main() (Guida per programmatori C#)
Vengono illustrati i possibili valori restituiti dal metodo Main.
Classi ed ereditarietà
Procedura: inizializzare oggetti senza chiamare un costruttore (Guida per programmatori C#)
Viene illustrato come utilizzare un inizializzatore di oggetto.base (Riferimenti per C#)
Viene descritto come specificare il costruttore di classi di base chiamato durante la creazione di istanze di una classe derivata.Procedura: differenza tra il passaggio a un metodo di una struttura e di un riferimento a una classe (Guida per programmatori C#)
È contenuto un esempio di codice in cui viene mostrato che quando si passa una struttura a un metodo, viene passata una copia della struttura, ma quando si passa un'istanza di classe, viene passato un riferimento.Costruttori di istanze (Guida per programmatori C#)
Vengono illustrati i costruttori di classe e l'ereditarietà.Procedura: scrivere un costruttore di copia (Guida per programmatori C#)
È contenuto un esempio di codice che dimostra come il costruttore di una classe utilizza un altro oggetto come argomento.Procedura: implementare conversioni tra strutture definite dall'utente (Guida per programmatori C#)
È contenuto un esempio di codice che definisce due strutture e dimostra le conversioni tra loro.
Tipi
Tipi (Guida per programmatori C#)
Viene fornita una panoramica sui tipi in C# e in .NET Framework.Casting e conversioni di tipi (Guida per programmatori C#)
Viene mostrato come utilizzare le conversioni implicite ed esplicite.Boxing e unboxing (Guida per programmatori C#)
Vengono forniti esempi che mostrano come eseguire conversioni boxing e unboxing dei tipi valore.Procedura: eseguire il cast sicuro tramite gli operatori as e is (Guida per programmatori C#)
Viene mostrato come eseguire il cast senza il rischio della generazione di un'eccezione InvalidCastException.Procedura: convertire una matrice di byte in un valore integer (Guida per programmatori C#)
Viene mostrato come eseguire la conversione da una matrice di byte in un tipo System.Int32.Procedura: convertire una stringa in un valore integer (Guida per programmatori C#)
Viene mostrato come convertire un valore stringa come "432" in un valore integer.Procedura: eseguire la conversione tra stringhe esadecimali e tipi numerici (Guida per programmatori C#)
Viene mostrato come convertire un valore stringa come "0xA10" in un valore integer.
Matrici
Matrici come oggetti (Guida per programmatori C#)
È contenuto un esempio di codice che visualizza il numero di dimensioni di una matrice.Matrici irregolari (Guida per programmatori C#)
È contenuto un esempio di codice che compila una matrice i cui elementi sono costituiti da matrici.Passaggio di matrici come parametri (Guida per programmatori C#)
Sono contenuti esempi di codice che inizializzano una matrice di stringhe e la passano come parametro al metodo PrintArray, in cui i relativi elementi vengono visualizzati.Passaggio di matrici mediante ref e out (Guida per programmatori C#)
Sono contenuti esempi di codice in viene illustrata la differenza tra out e ref quando vengono utilizzati per passare matrici a metodi.Procedura: utilizzare variabili e matrici locali tipizzate in modo implicito in un'espressione di query (Guida per programmatori C#)
Viene descritto come utilizzare la tipizzazione implicita per matrici e variabili locali.
Proprietà
Procedura: implementare una classe leggera con proprietà implementate automaticamente (Guida per programmatori C#)
Viene illustrato come creare classi di piccole dimensioni per incapsulare un insieme di proprietà.Procedura: dichiarare e utilizzare le proprietà Read/Write (Guida per programmatori C#)
È contenuto un esempio in cui viene illustrato come dichiarare e utilizzare le proprietà di lettura/scrittura.Procedura: definire proprietà astratte (Guida per programmatori C#)
È contenuto un esempio di codice in cui viene illustrato come definire proprietà astratte.
Metodi
Passaggio di parametri di tipi di valore (Guida per programmatori C#)
Sono contenuti esempi di codice che dimostrano vari modi per passare tipi di valore.Passaggio di parametri di tipi di riferimento (Guida per programmatori C#)
Sono contenuti esempi di codice che dimostrano i vari modi di passare tipi di riferimento.Procedura: implementare e chiamare un metodo di estensione personalizzato (Guida per programmatori C#)
Viene illustrato come creare un metodo statico che può essere chiamato come se fosse un metodo di istanza su un altro tipo.
Eventi
Procedura: sottoscrivere e annullare la sottoscrizione di eventi (Guida per programmatori C#)
Viene illustrato come sottoscrivere gli eventi pubblicati da altre classi, inclusi form, pulsanti, caselle di riepilogo e così via.Procedura: pubblicare eventi conformi alle indicazioni di .NET Framework (Guida per programmatori C#)
Viene illustrato come creare eventi basati su EventHandler e EventHandler<TEventArgs>.Procedura: implementare gli eventi di interfaccia (Guida per programmatori C#)
Illustra come implementare eventi dichiarati nelle interfacce.Procedura: utilizzare un dizionario per archiviare istanze di evento (Guida per programmatori C#)
Viene illustrato come utilizzare una tabella hash per archiviare le istanze degli eventi.Procedura: generare eventi della classe base in classi derivate (Guida per programmatori C#)
Illustra come eseguire il wrapping di eventi di classe base in metodi virtuali protetti affinché sia possibile richiamarli da classi derivate.Procedura: implementare funzioni di accesso a eventi personalizzati (Guida per programmatori C#)
Viene illustrato come eseguire l'override delle funzioni di accesso agli eventi add e remove.
Interfacce
Procedura: implementare in modo esplicito i membri di interfaccia (Guida per programmatori C#)
Viene illustrato come dichiarare una classe che implementa in modo esplicito un'interfaccia e come accedere ai membri tramite l'istanza dell'interfaccia.Procedura: implementare i membri di interfaccia in modo esplicito con l'ereditarietà (Guida per programmatori C#)
Viene fornito un esempio in cui sono visualizzate le dimensioni di una casella sia in unità di misura decimali che in unità di misura inglesi.
Generics
Generics in .NET Framework
Vengono illustrate le funzionalità e l'utilizzo del nuovo set di insiemi generici nello spazio dei nomi System.Collections.Generic.Parola chiave default in codice generico (Guida per programmatori C#)
Viene fornito un esempio di codice in cui viene illustrato come utilizzare la parola chiave predefinita per i parametri dei tipi.Metodi generici (Guida per programmatori C#)
Viene presentata la sintassi per dichiarare un metodo generico. Viene inoltre fornito un esempio in cui viene illustrato come utilizzare metodi generici in un'applicazione.Vincoli sui parametri di tipo (Guida per programmatori C#)
Viene spiegato come vincolare parametri di tipo in modo da consentire l'accesso ai metodi e alle proprietà dei tipi utilizzati per creare un'istanza della classe generica.Delegati generici (Guida per programmatori C#)
È contenuta la sintassi per dichiarare delegati generici. Sono inoltre contenute note importanti sulla creazione di istanze e sull'utilizzo di delegati generici, oltre a esempi di codice.
Spazi dei nomi
- Procedura: utilizzare il qualificatore di alias dello spazio dei nomi (Guida per programmatori C#)
Viene illustrata la possibilità di accedere a un membro dello spazio dei nomi globale quando il membro potrebbe essere nascosto da un'altra entità con lo stesso nome.
Iteratori
Procedura: creare un blocco iteratore per un elenco generico (Guida per programmatori C#)
Viene fornito un esempio in cui viene utilizzata una matrice di numeri interi per compilare l'elenco SampleCollection. Per scorrere l'insieme e restituire il valore di ogni elemento, viene utilizzato un ciclo for. Viene quindi utilizzato un ciclo foreach per visualizzare gli elementi dell'insieme.Procedura: creare un blocco iteratore per un elenco generico (Guida per programmatori C#)
Viene fornito un esempio in cui una classe generica Stack<T> implementa un'interfaccia generica IEnumerator<T>. Viene dichiarata una matrice del tipo T, alla quale vengono assegnati valori utilizzando il metodo Push. Nel metodo GetEnumerator i valori della matrice vengono restituiti tramite l'istruzione yield return.
Delegati
Funzioni anonime (Guida per programmatori C#)
Viene descritto come utilizzare espressioni lambda e metodi anonimi per creare tipi delegati.Procedura: combinare delegati multicast (Guida per programmatori C#)
Viene fornito un esempio in cui viene illustrato come comporre delegati multicast.Procedura: dichiarare un delegato, crearne un'istanza e utilizzarlo (Guida per programmatori C#)
Viene fornito un esempio in cui viene illustrato come dichiarare e utilizzare un delegato e come crearne un'istanza.
Overload dell'operatore
- Procedura: utilizzare l'overload degli operatori per creare una classe di numeri complessi (Guida per programmatori C#)
Viene illustrato come utilizzare l'overload dell'operatore per creare una classe Complex di numeri complessi che definisca l'operazione di addizione tra numeri complessi.
Interoperabilità
- Procedura: utilizzare il richiamo piattaforma per riprodurre un file audio (Guida per programmatori C#)
Viene illustrato come utilizzare i servizi di platform invoke per riprodurre un file audio wave sulla piattaforma Windows.
Codice unsafe
Procedura: utilizzare puntatori per copiare una matrice di byte (Guida per programmatori C#)
Viene illustrato come utilizzare i puntatori per copiare byte da una matrice a un'altra.Procedura: utilizzare la funzione ReadFile di Windows (Guida per programmatori C#)
Viene illustrato come chiamare la funzione ReadFiledi Windows. A tale scopo, è necessario utilizzare un contesto unsafe in quanto il buffer di lettura richiede un puntatore come parametro.
Threading
Utilizzo di thread e threading
Viene fornito un elenco di argomenti in cui vengono illustrate la creazione e la gestione di thread gestiti e viene spiegato come evitare conseguenze indesiderate.Procedura: creare e terminare thread (Guida per programmatori C#)
Viene fornito un esempio in cui viene illustrato come creare e avviare un thread; viene inoltre descritta l'interazione tra due thread eseguiti contemporaneamente all'interno dello stesso processo.Procedura: sincronizzare un thread producer e un thread consumer (Guida per programmatori C#)
Viene fornito un esempio in cui viene illustrata la sincronizzazione tramite la parola chiave lock di C# e il metodo Pulse dell'oggetto Monitor.Procedura: utilizzare un pool di thread (Guida per programmatori C#)
Viene fornito un esempio in cui viene illustrato come utilizzare un pool di thread.
Stringhe
Procedura: eseguire la ricerca di stringhe tramite espressioni regolari (Guida per programmatori C#)
Viene illustrato come utilizzare la Regex per eseguire ricerche nelle stringhe. Queste ricerche possono essere molto semplici oppure basate sull'utilizzo delle espressioni regolari.Procedura: concatenare più stringhe (Guida per programmatori C#)
È contenuto un esempio di codice in cui viene illustrato come unire più stringhe.Procedura: eseguire la ricerca di stringhe tramite metodi stringa (Guida per programmatori C#)
È contenuto un esempio di codice in cui viene illustrato come utilizzare i metodi String per eseguire la ricerca di una stringa.Procedura: dividere stringhe (Guida per programmatori C#)
Include un esempio di codice in cui viene illustrato come suddividere una stringa utilizzando il metodo Split.Procedura: modificare il contenuto delle stringhe (Guida per programmatori C#)
È contenuto un esempio di codice che estrae il contenuto di una stringa in una matrice e quindi modifica alcuni elementi della matrice.
Attributi
- Procedura: creare un'unione C/C++ mediante attributi (Guida per programmatori C#)
È contenuto un esempio in cui viene utilizzato l'attributo Serializable per applicare una caratteristica specifica a una classe.
Utilizzo delle DLL
- Procedura: creare e utilizzare DLL C# (Guida per programmatori C#)
Viene illustrato, tramite uno scenario di esempio, come compilare e utilizzare una DLL.
Assembly
Procedura: determinare se un file è un assembly (Guida per programmatori C#)
È contenuto un esempio in cui viene eseguito il test di una DLL per verificare se si tratta di un assembly.Procedura: caricare e scaricare gli assembly (Guida per programmatori C#)
Viene illustrato come caricare assembly specifici nel dominio applicazione corrente in fase di esecuzione.Procedura: condividere un assembly con altre applicazioni (Guida per programmatori C#)
Viene illustrato come condividere un assembly con altre applicazioni.
Domini applicazione
Esecuzione di codice in un altro dominio applicazione (Guida per programmatori C#)
Viene illustrato come eseguire un assembly che è stato caricato in un altro dominio applicazione.Procedura: creare e utilizzare un domino applicazione (Guida per programmatori C#)
Viene illustrato come utilizzare l'overload dell'operatore per implementare un tipo logico con tre valori.
Esempi
- Esempi di Visual C#
Sono contenuti collegamenti per aprire o copiare i file di esempio da Esempio Hello World a Esempio di generics (C#).