C# Academy · leksjon

Operatorprioritet og assosiativitet

Forstå evalueringsrekkefølgen og bruk parenteser.

Leksjon 4 av 413 trinn

Operatorprioritet og assosiativitet er en gratis leksjon i C# Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C# Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C# Academy inneholder totalt 4 leksjoner.

Hvorfor operatorprioritet er viktig

Når et uttrykk kombinerer operatorer, avgjør C# rekkefølgen ved hjelp av operatorprioritet. Operatorer med høyere prioritet binder sterkere og utføres først.

using System;

class Program {
    static void Main() {
        Console.WriteLine(2 + 3 * 4);
    }
}

Multiplikative før additive operatorer

* / % har høyere prioritet enn + -, så de utføres først, akkurat som i matematikk.

using System;

class Program {
    static void Main() {
        Console.WriteLine(10 - 2 * 3);
        Console.WriteLine(20 / 4 + 1);
    }
}

Parenteser overstyrer rekkefølgen

Parenteser har høyest prioritet. Bruk dem for å tvinge frem ønsket rekkefølge og gjøre hensikten tydelig.

using System;

class Program {
    static void Main() {
        Console.WriteLine((2 + 3) * 4);
        Console.WriteLine(2 + (3 * 4));
    }
}

Sammenligning kontra aritmetikk

Aritmetikk utføres før sammenligning. I a + b > c utføres addisjonen først, og deretter sammenligningen.

using System;

class Program {
    static void Main() {
        int a = 3, b = 4, c = 5;
        Console.WriteLine(a + b > c);
    }
}

Rekkefølge for logiske operatorer

&& har høyere prioritet enn ||. I a || b && c bindes OG først.

using System;

class Program {
    static void Main() {
        bool r = true || false && false;
        Console.WriteLine(r);
    }
}

Et overblikk over operatorprioritet

Omtrentlig rekkefølge, fra høyest til lavest: parenteser, unære operatorer (! ~ -), * / %, + -, skift, sammenligninger, likhet, bitvise operatorer, &&, || og til slutt tilordning.

using System;

class Program {
    static void Main() {
        int x = 1 + 2 << 1;
        Console.WriteLine(x);
    }
}

Assosiativitet: fra venstre mot høyre

Når operatorer har samme prioritet, avgjør assosiativitet retningen. De fleste binære operatorer er venstreassosiative: 10 - 4 - 2 er (10 - 4) - 2.

using System;

class Program {
    static void Main() {
        Console.WriteLine(10 - 4 - 2);
        Console.WriteLine(100 / 5 / 2);
    }
}

Høyreassosiativ tilordning

Tilordning er høyreassosiativ. a = b = 5 tilordner først 5 til b, og deretter dette resultatet til a.

using System;

class Program {
    static void Main() {
        int a, b;
        a = b = 5;
        Console.WriteLine(a + " " + b);
    }
}

Unære operatorer binder tett

Unære !-, ~- og negasjonsoperatorer utføres før binære operatorer. -3 + 2 negerer 3 først.

using System;

class Program {
    static void Main() {
        Console.WriteLine(-3 + 2);
        Console.WriteLine(!false && true);
    }
}

Betingelsesoperatoren

Den ternære ?:-operatoren har lav prioritet, like over tilordning. Sett komplekse betingelser i parentes for å unngå feil.

using System;

class Program {
    static void Main() {
        int n = 7;
        string s = n % 2 == 0 ? "even" : "odd";
        Console.WriteLine(s);
    }
}

Tydelighet er viktigere enn kløkt

Selv når operatorprioriteten gjør parenteser valgfrie, gjør de ofte koden enklere å lese og gjennomgå.

using System;

class Program {
    static void Main() {
        int a = 2, b = 3, c = 4;
        int result = (a * b) + (c * 2);
        Console.WriteLine(result);
    }
}

Kort kontroll

Test forståelsen av operatorprioritet og assosiativitet.

Oppsummering

Operatorprioritet bestemmer hvilke operatorer som utføres først. * og / har høyere prioritet enn + og -, mens parenteser har høyere prioritet enn alt annet. Assosiativitet avgjør rekkefølgen mellom operatorer med samme prioritet: De fleste går fra venstre mot høyre, mens tilordning går fra høyre mot venstre.

Bruk parenteser for å gjøre koden tydelig når De er usikker.

Gratis å komme i gang

Lær deg C# med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
93
Leksjoner
346

Ofte stilte spørsmål

Er leksjonen «Operatorprioritet og assosiativitet» gratis?

Ja – hele teksten i «Operatorprioritet og assosiativitet» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C# Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C# Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Operatorprioritet og assosiativitet»?

Forstå evalueringsrekkefølgen og bruk parenteser. Du øver på C# Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C# Academy?

Ingen tidligere erfaring er nødvendig. C# Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Operatorprioritet og assosiativitet»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C# Academy-leksjonen?

Ja. Alle C# Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Aritmetiske operatorer og tilordningsoperatorer
  2. Sammenligningsoperatorer og logiske operatorer
  3. Bitvise operatorer og skiftoperatorer
  4. Operatorprioritet og assosiativitet
← Tilbake til C# Academy