C# Academy · Lektion

Operatorprioritet och associativitet

Förstå utvärderingsordningen och använd parenteser.

Lektion 4 av 413 steg

Operatorprioritet och associativitet är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 4 lektioner.

Varför prioritet spelar roll

När ett uttryck blandar operatorer bestämmer C# ordningen med hjälp av prioritet. Operatorer med högre prioritet binder hårdare och körs först.

using System;

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

Multiplikation före addition

* / % har högre prioritet än + -, så de utförs först, precis som i matematiken.

using System;

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

Parenteser åsidosätter ordningen

Parenteser har högst prioritet. Använd dem för att tvinga fram den ordning du vill ha och för att tydliggöra avsikten.

using System;

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

Jämförelse och aritmetik

Aritmetik utförs före jämförelser. I a + b > c utförs additionen först och därefter jämförelsen.

using System;

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

Logiska operatorers ordning

&& har högre prioritet än ||. I a || b && c binder AND först.

using System;

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

En översikt över prioriteten

Ungefärlig ordning, från högst till lägst: parenteser, unära operatorer (! ~ -), * / %, + -, skiftningar, jämförelser, likhet, bitvisa operatorer, &&, || och därefter tilldelning.

using System;

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

Associativitet: från vänster till höger

När operatorer har samma prioritet avgör associativiteten riktningen. De flesta binära operatorer är vänsterassociativa: 10 - 4 - 2 är (10 - 4) - 2.

using System;

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

Högerassociativ tilldelning

Tilldelning är högerassociativ. a = b = 5 tilldelar först 5 till b och sedan samma resultat till a.

using System;

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

Unära operatorer binder hårt

Unära operatorer som !, ~ och negation tillämpas före binära operatorer. -3 + 2 negerar 3 först.

using System;

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

Den villkorliga operatorn

Den ternära operatorn ?: har låg prioritet, precis över tilldelning. Sätt komplexa villkor inom parentes för att undvika problem.

using System;

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

Tydlighet går före finurlighet

Även när prioriteten gör parenteser valfria blir koden ofta enklare att läsa och granska om du lägger till dem.

using System;

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

Snabbtest

Testa dina kunskaper om prioritet och associativitet.

Sammanfattning

Prioritet avgör vilka operatorer som körs först. * och / har högre prioritet än + och -, och parenteser har högre prioritet än allt annat. Associativitet avgör ordningen mellan operatorer med samma prioritet: de flesta går från vänster till höger, medan tilldelning går från höger till vänster.

Vid osäkerhet kan du lägga till parenteser för tydlighetens skull.

Gratis att börja

Lär dig C# med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
93
Lektioner
346

Vanliga frågor

Är lektionen ”Operatorprioritet och associativitet” gratis?

Ja – hela texten till ”Operatorprioritet och associativitet” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Operatorprioritet och associativitet”?

Förstå utvärderingsordningen och använd parenteser. Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig C# Academy?

Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Operatorprioritet och associativitet”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här C# Academy-lektionen?

Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Aritmetiska operatorer och tilldelningsoperatorer
  2. Jämförelseoperatorer och logiska operatorer
  3. Bitvisa operatorer och skiftoperatorer
  4. Operatorprioritet och associativitet
← Tillbaka till C# Academy