0Pricing
C# Academy · Lezione

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

  1. Operatori aritmetici e di assegnazione
  2. Operatori di confronto e logici
  3. Operatori bitwise e di shift
  4. Precedenza e associatività degli operatori
← Torna a C# Academy