Precedenza e associatività degli operatori
Comprenda l'ordine di valutazione e utilizzi le parentesi.
Precedenza e associatività degli operatori è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.
Perché la precedenza è importante
Quando un'espressione combina più operatori, C# ne determina l'ordine utilizzando la precedenza. Gli operatori con precedenza maggiore si legano più strettamente e vengono eseguiti per primi.
using System;
class Program {
static void Main() {
Console.WriteLine(2 + 3 * 4);
}
}Moltiplicativi prima degli additivi
* / % hanno una precedenza maggiore di + -, quindi vengono eseguiti per primi, proprio come in matematica.
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 2 * 3);
Console.WriteLine(20 / 4 + 1);
}
}Le parentesi modificano l'ordine
Le parentesi hanno la precedenza più alta. Le utilizzi per imporre l'ordine desiderato e rendere chiara l'intenzione.
using System;
class Program {
static void Main() {
Console.WriteLine((2 + 3) * 4);
Console.WriteLine(2 + (3 * 4));
}
}Confronto e aritmetica
Le operazioni aritmetiche vengono eseguite prima dei confronti. In a + b > c, prima viene eseguita l'addizione e poi il confronto.
using System;
class Program {
static void Main() {
int a = 3, b = 4, c = 5;
Console.WriteLine(a + b > c);
}
}Ordine degli operatori logici
&& ha una precedenza maggiore di ||. In a || b && c, l'AND viene associato per primo.
using System;
class Program {
static void Main() {
bool r = true || false && false;
Console.WriteLine(r);
}
}Panoramica della precedenza
Ordine approssimativo, dalla precedenza più alta a quella più bassa: parentesi, unari (! ~ -), * / %, + -, scorrimenti, confronti, uguaglianza, operatori bitwise, &&, || e infine assegnazione.
using System;
class Program {
static void Main() {
int x = 1 + 2 << 1;
Console.WriteLine(x);
}
}Associatività: da sinistra a destra
Quando gli operatori hanno la stessa precedenza, l'associatività ne determina la direzione. La maggior parte degli operatori binari è associativa a sinistra: 10 - 4 - 2 equivale a (10 - 4) - 2.
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 4 - 2);
Console.WriteLine(100 / 5 / 2);
}
}Assegnazione associativa a destra
L'assegnazione è associativa a destra. a = b = 5 assegna prima 5 a b e poi quel risultato ad a.
using System;
class Program {
static void Main() {
int a, b;
a = b = 5;
Console.WriteLine(a + " " + b);
}
}Gli operatori unari hanno legame stretto
Gli operatori unari !, ~ e la negazione vengono applicati prima degli operatori binari. -3 + 2 nega prima 3.
using System;
class Program {
static void Main() {
Console.WriteLine(-3 + 2);
Console.WriteLine(!false && true);
}
}L'operatore condizionale
L'operatore ternario ?: ha una precedenza bassa, appena superiore a quella dell'assegnazione. Racchiuda tra parentesi le condizioni complesse per evitare problemi.
using System;
class Program {
static void Main() {
int n = 7;
string s = n % 2 == 0 ? "even" : "odd";
Console.WriteLine(s);
}
}La chiarezza è più importante dell'astuzia
Anche quando la precedenza rende le parentesi facoltative, aggiungerle spesso rende il codice più facile da leggere e da revisionare.
using System;
class Program {
static void Main() {
int a = 2, b = 3, c = 4;
int result = (a * b) + (c * 2);
Console.WriteLine(result);
}
}Verifica rapida
Verifichi la Sua comprensione della precedenza e dell'associatività.
Riepilogo
La precedenza stabilisce quali operatori vengono eseguiti per primi; * e / hanno precedenza su + e -, mentre le parentesi hanno precedenza su tutto. L'associatività risolve i casi di parità tra operatori con la stessa precedenza: la maggior parte viene valutata da sinistra a destra, mentre l'assegnazione da destra a sinistra.
In caso di dubbio, aggiunga le parentesi per maggiore chiarezza.
Domande Frequenti
La lezione «Precedenza e associatività degli operatori» è gratuita?
Sì — il testo completo di «Precedenza e associatività degli operatori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.
Cosa imparerò in «Precedenza e associatività degli operatori»?
Comprenda l'ordine di valutazione e utilizzi le parentesi. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Precedenza e associatività degli operatori»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Operatori aritmetici e di assegnazione
- Operatori di confronto e logici
- Operatori bitwise e di shift
- Precedenza e associatività degli operatori