Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Tip
Questo articolo fa parte della sezione Nozioni fondamentali per gli sviluppatori che già conoscono almeno un linguaggio di programmazione e stanno imparando C#. Se non si ha familiarità con la programmazione, iniziare prima con le esercitazioni introduttive . Per la sintassi completa dell'istruzione, vedere Istruzioni nella specifica del linguaggio C#.
Venire da un'altra lingua? Dichiarazioni, condizioni, cicli e restituzioni potrebbero essere familiari. C# usa la propria sintassi e la propria classificazione per queste funzionalità, introdotta in questo articolo.
Un'istruzione è un comando completo: "Eseguire questa operazione". Insieme, le istruzioni in un programma formano una ricetta che il programma segue dall'inizio alla fine. La maggior parte delle istruzioni viene eseguita in sequenza. I rami scelgono i passaggi da eseguire e i cicli ripetono i passaggi.
Questo esempio dichiara una quantità, la visualizza e quindi usa un'istruzione if per decidere se rifornire:
int quantity = 5;
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 5
if (quantity < 10)
{
quantity = 10;
Console.WriteLine("Restocked"); // => Restocked
}
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 10
Leggere l'esempio come comandi completi prima di esaminare le relative parti. La dichiarazione, la prima chiamata a Console.WriteLine, l'intero costrutto if e la chiamata finale a Console.WriteLine sono istruzioni. Il blocco all'interno dell'istruzione if contiene altre due istruzioni.
Le istruzioni contengono spesso espressioni
Le istruzioni contengono spesso espressioni, ovvero parti di codice che producono valori. Nell'esempio precedente, l'intero costrutto if è un'istruzione. La condizione , quantity < 10, è un'espressione che produce true o false.
Un'istruzione di dichiarazione introduce una variabile o una costante locale. Un'espressione di inizializzatore può fornire il primo valore:
int quantity = 5;
La riga completa è un'istruzione di dichiarazione. L'inizializzatore 5 è un'espressione all'interno di tale istruzione.
Un'espressione di assegnazione archivia un valore in una variabile, una proprietà, un indicizzatore o un'altra posizione di archiviazione. C# consente a un'espressione di assegnazione di formare un'istruzione di espressione:
quantity = 10;
Questa istruzione esegue un'azione anziché semplicemente calcolare un valore. Le chiamate al metodo e le operazioni di incremento sono altre istruzioni di espressione comuni:
Console.WriteLine("Restocking");
quantity++;
Solo i moduli di espressione seguenti possono essere istruzioni di espressione:
- Espressioni di assegnazione
- Espressioni di chiamata al metodo
- Espressioni di creazione di oggetti
- Espressioni di incremento e decremento prefissi o postfissi
-
awaitEspressioni
Non ogni espressione può costituire un'istruzione autonoma. Ad esempio, quantity + 1; calcola un valore ma non lo usa. Non è un'affermazione valida.
Ecco una definizione di lavoro utile: un'istruzione è approssimativamente simile a una frase completa in inglese, mentre un'espressione è simile a una frase. Questa distinzione consente di comprendere la terminologia formale e le spiegazioni che si incontreranno nella documentazione e nelle specifiche, anche se la codifica comune richiede raramente di ricordare la distinzione in modo consapevole.
Raggruppare le istruzioni in blocchi
Un blocco raggruppa zero o più istruzioni racchiuse tra parentesi graffe ({ e }). C# considera il gruppo come un'unica istruzione. Nell'esempio di apertura l'istruzione if può eseguire sia l'assegnazione che la chiamata a Console.WriteLine perché un blocco li raggruppa in un unico corpo. I blocchi possono annidarsi all'interno di altri blocchi.
Le istruzioni di selezione e di iterazione definiscono il proprio corpo come istruzione incorporata. Questo corpo può essere una singola istruzione senza parentesi graffe o un blocco che raggruppa più istruzioni.
Preferisci un blocco anche quando contiene una sola istruzione. Le parentesi graffe indicano quali istruzioni appartengono al corpo ed evitano che modifiche successive collochino accidentalmente un'istruzione all'esterno del corpo.
I blocchi definiscono l'ambito delle variabili
Le variabili dichiarate in un blocco sono incluse nell'ambito dalla relativa dichiarazione fino alla fine di tale blocco. Un blocco annidato può usare variabili dichiarate da un blocco di inclusione, ma il blocco di inclusione non può usare variabili dichiarate solo nel blocco annidato:
int outerValue = 10;
if (outerValue > 0)
{
int innerValue = outerValue * 2;
Console.WriteLine(innerValue); // => 20
}
// innerValue isn't in scope here.
Scegli un'istruzione per l'attività
Dopo aver riconosciuto le istruzioni come comandi, è possibile scegliere tra i diversi tipi per scopo:
- Dichiarazione dei dati:Le istruzioni di dichiarazione introducono variabili e costanti locali.
- Eseguire azioni: Le istruzioni di espressione assegnano valori, chiamano metodi, creano oggetti, incrementi o decrementi valori o attendono operazioni asincrone.
-
Istruzioni di scelta:istruzioni di selezione, ad esempio
ifeswitch, scelgono quale codice eseguire. -
Ripetere i passaggi:istruzioni di iterazione, come
foreach,whileefor, ripetono un'istruzione o un blocco di istruzioni. -
Trasferimento del controllo:Istruzioni di salto, come
break,continue,returneyield, spostano l'esecuzione in un altro punto. -
Gestire le eccezioni:istruzioni di gestione delle eccezioni, ad esempio
try,catchethrow, rispondono o segnalano errori. -
Gestire le risorse:L'istruzione
usinggarantisce che le risorse vengano eliminate. -
Usare il comportamento specializzato: Le istruzioni
checkedeunchecked,fixedelocksupportano scenari specifici.
Specificazione del linguaggio C#
Per altre informazioni, vedere la sezione Istruzioni della specifica del linguaggio C#.