What are operators in C#?

Operatorer i C#: En Komplet Guide

22/03/2026

Rating: 4.67 (11994 votes)

I C#-programmering er operatorer specielle symboler, der bruges til at udføre operationer på operander. En operand kan være en variabel og/eller en konstant. For eksempel, i udtrykket 2 + 3, er + en operator, der udfører en additionsoperation, mens 2 og 3 er operander. Operatorer er fundamentale for at manipulere variable og værdier i et program. C# understøtter et bredt udvalg af operatorer, som klassificeres baseret på den type operationer, de udfører. At forstå disse operatorer er afgørende for enhver C#-udvikler, da de danner grundlaget for logik, beregninger og datamanipulation i enhver applikation.

What are operators in C#?
C# Operators: Arithmetic, Comparison, Logical and more. Operators are symbols that are used to perform operations on operands. Operands may be variables and/or constants. For example, in 2+3, + is an operator that is used to carry out addition operation, while 2 and 3 are operands. Operators are used to manipulate variables and values in a program.
Indholdsfortegnelse

Grundlæggende Tildelingsoperator (=)

Den mest grundlæggende operator er tildelingsoperatoren, repræsenteret ved lighedstegnet (=). Dens funktion er at tildele værdien af operanden til højre til operanden til venstre (som oftest er en variabel). Det er den primære måde, hvorpå variable får deres værdier.

For eksempel:

double x; x = 50.05;

Her tildeles den numeriske værdi 50.05 til variablen x af typen double.

Eksempel på Tildelingsoperator

using System; namespace Operator { class AssignmentOperator { public static void Main(string[] args) { int firstNumber, secondNumber; // Tildeler en konstant til en variabel firstNumber = 10; Console.WriteLine("First Number = {0}", firstNumber); // Tildeler en variabels værdi til en anden variabel secondNumber = firstNumber; Console.WriteLine("Second Number = {0}", secondNumber); } } }

Når dette program køres, vil outputtet være:

First Number = 10 Second Number = 10

Dette simple eksempel demonstrerer, hvordan en konstant værdi først tildeles firstNumber, og derefter kopieres denne værdi til secondNumber.

Aritmetiske Operatorer

Aritmetiske operatorer bruges til at udføre almindelige matematiske operationer såsom addition, subtraktion, multiplikation og division. Disse er blandt de mest anvendte operatorer i næsten ethvert program.

OperatorNavnBeskrivelseEksempel
+AdditionLægger to operander sammen6 + 3 evalueres til 9
-SubtraktionTrækker den højre operand fra den venstre10 - 6 evalueres til 4
*MultiplikationGanger to operander med hinanden4 * 2 evalueres til 8
/DivisionDividerer den venstre operand med den højre10 / 5 evalueres til 2
%ModuloBeregner resten af en division16 % 3 evalueres til 1

Eksempel på Aritmetiske Operatorer

using System; namespace Operator { class ArithmeticOperator { public static void Main(string[] args) { double firstNumber = 14.40, secondNumber = 4.60, result; int num1 = 26, num2 = 4, rem; // Additionsoperator result = firstNumber + secondNumber; Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result); // Subtraktionsoperator result = firstNumber - secondNumber; Console.WriteLine("{0} - {1} = {2}", firstNumber, secondNumber, result); // Multiplikationsoperator result = firstNumber * secondNumber; Console.WriteLine("{0} * {1} = {2}", firstNumber, secondNumber, result); // Divisionsoperator result = firstNumber / secondNumber; Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, result); // Modulo-operator rem = num1 % num2; Console.WriteLine("{0} % {1} = {2}", num1, num2, rem); } } }

Outputtet fra programmet vil være:

14.4 + 4.6 = 19 14.4 - 4.6 = 9.8 14.4 * 4.6 = 66.24 14.4 / 4.6 = 3.1304347826087 26 % 4 = 2

Relationelle og Ligestillingsoperatorer

Relationelle og ligestillingsoperatorer bruges til at sammenligne to operander. Resultatet af en sådan sammenligning er altid en boolesk værdi: enten true eller false. Disse operatorer er essentielle for at træffe beslutninger og styre flowet i et program, for eksempel i if-sætninger og loops.

OperatorNavnEksempelResultat
==Lig med6 == 4false
!=Ikke lig med10 != 2true
>Større end3 > -1true
<Mindre end5 < 3false
>=Større end eller lig med4 >= 4true
<=Mindre end eller lig med5 <= 3false

Eksempel på Relationelle Operatorer

using System; namespace Operator { class RelationalOperator { public static void Main(string[] args) { bool result; int firstNumber = 10, secondNumber = 20; result = (firstNumber == secondNumber); Console.WriteLine("{0} == {1} returnerer {2}", firstNumber, secondNumber, result); result = (firstNumber > secondNumber); Console.WriteLine("{0} > {1} returnerer {2}", firstNumber, secondNumber, result); result = (firstNumber < secondNumber); Console.WriteLine("{0} < {1} returnerer {2}", firstNumber, secondNumber, result); result = (firstNumber >= secondNumber); Console.WriteLine("{0} >= {1} returnerer {2}", firstNumber, secondNumber, result); result = (firstNumber <= secondNumber); Console.WriteLine("{0} <= {1} returnerer {2}", firstNumber, secondNumber, result); result = (firstNumber != secondNumber); Console.WriteLine("{0} != {1} returnerer {2}", firstNumber, secondNumber, result); } } }

Outputtet viser resultatet af hver sammenligning:

10 == 20 returnerer False 10 > 20 returnerer False 10 < 20 returnerer True 10 >= 20 returnerer False 10 <= 20 returnerer True 10 != 20 returnerer True

Logiske Operatorer

Logiske operatorer bruges til at udføre logiske operationer på booleske udtryk. De kombinerer to eller flere betingelser og returnerer en boolesk værdi. Disse er også centrale i beslutningstagning og kontrolstrukturer.

What is a binary operator in C#?
In C#, the Operators can also be categorized based on the Number of Operands: Unary Operator: The Operator that requires one operand (variable or value) to perform the operation is called Unary Operator. Binary Operator: Then Operator that requires two operands (variables or values) to perform the operation is called Binary Operator.
Operand 1Operand 2OR (||)AND (&&)
truetruetruetrue
truefalsetruefalse
falsetruetruefalse
falsefalsefalsefalse

Kort sagt: || (OR) returnerer true, hvis mindst én af operanderne er true. && (AND) returnerer kun true, hvis begge operander er true. Der findes også ! (NOT), som inverterer en boolesk værdi.

Eksempel på Logiske Operatorer

using System; namespace Operator { class LogicalOperator { public static void Main(string[] args) { bool result; int firstNumber = 10, secondNumber = 20; // OR operator result = (firstNumber == secondNumber) || (firstNumber > 5); Console.WriteLine(result); // AND operator result = (firstNumber == secondNumber) && (firstNumber > 5); Console.WriteLine(result); } } }

Outputtet bliver:

True False

I det første tilfælde er (firstNumber > 5) sandt, så hele udtrykket bliver sandt. I det andet tilfælde er (firstNumber == secondNumber) falsk, så hele udtrykket bliver falsk.

Unære Operatorer

I modsætning til de fleste andre operatorer, arbejder unære operatorer kun på en enkelt operand. De bruges til at inkrementere, dekrementere, invertere fortegn eller negere en boolesk værdi.

OperatorNavnBeskrivelse
+Unær PlusÆndrer ikke operandens fortegn
-Unær MinusInverterer operandens fortegn
++InkrementØger værdien med 1
--DekrementMindsker værdien med 1
!Logisk NOTInverterer en boolesk værdi

Prefix vs. Postfix Inkrement/Dekrement

Inkrement (++) og dekrement (--) operatorerne kan bruges både som prefix (før operanden, f.eks. ++number) og postfix (efter operanden, f.eks. number++). Forskellen ligger i, hvornår værdien opdateres i forhold til, hvornår udtrykket evalueres.

  • Prefix: Værdien ændres først, og derefter evalueres udtrykket med den nye værdi.
  • Postfix: Udtrykket evalueres først med den oprindelige værdi, og derefter ændres værdien.

Eksempel på Prefix og Postfix

using System; namespace Operator { class UnaryOperator { public static void Main(string[] args) { int number = 10; Console.WriteLine((number++)); // Postfix: Printer 10, derefter bliver number 11 Console.WriteLine((number)); // Printer 11 Console.WriteLine((++number)); // Prefix: number bliver 12, derefter printes 12 Console.WriteLine((number)); // Printer 12 } } }

Outputtet illustrerer forskellen tydeligt:

10 11 12 12

Den Ternære Operator (?:)

Den ternære operator, også kendt som den betingede operator, er en kompakt erstatning for en if-else-sætning. Den arbejder på tre operander.

Syntaksen er: betingelse ? udtryk1: udtryk2;

Sådan virker den:

  • Hvis betingelse evalueres til true, udføres udtryk1, og dens resultat returneres.
  • Hvis betingelse evalueres til false, udføres udtryk2, og dens resultat returneres.

Eksempel på Ternær Operator

using System; namespace Operator { class TernaryOperator { public static void Main(string[] args) { int number = 10; string result; result = (number % 2 == 0) ? "Lige Tal": "Ulige Tal"; Console.WriteLine("{0} er {1}", number, result); } } }

Output:

10 er Lige Tal

Bitwise og Bit Shift Operatorer

Disse operatorer bruges til at udføre operationer direkte på de binære bits, som en værdi består af. De bruges ofte i lavniveausprogrammering, f.eks. til drivere eller i situationer, hvor ydeevne er kritisk.

What is operator in C#?
It is a fundamental part of language which plays an important role in performing different mathematical operations. It takes one or more operands and performs operations to produce a result. C# has some set of operators that can be classified into various categories based on their functionality.
OperatorNavn
~Bitwise Complement
&Bitwise AND
|Bitwise OR
^Bitwise Exclusive OR (XOR)
<<Bitwise Left Shift
>>Bitwise Right Shift

Sammensatte Tildelingsoperatorer

Sammensatte tildelingsoperatorer er en genvej til at udføre en operation og tildele resultatet tilbage til den samme variabel. For eksempel er x += 5; en kortere måde at skrive x = x + 5; på.

OperatorEksempelÆkvivalent med
+=x += 5x = x + 5
-=x -= 5x = x - 5
*=x *= 5x = x * 5
/=x /= 5x = x / 5
%=x %= 5x = x % 5
&=x &= 5x = x & 5
|=x |= 5x = x | 5
^=x ^= 5x = x ^ 5
<<=x <<= 2x = x << 2
>>=x >>= 2x = x >> 2

Operatorforrang

Når et udtryk indeholder flere operatorer, bestemmer reglerne for operatorforrang (operator precedence), hvilken rækkefølge operationerne udføres i. For eksempel udføres multiplikation og division før addition og subtraktion. Man kan bruge parenteser () til at overstyre den normale forrang og tvinge en bestemt evalueringsrækkefølge.

Eksempel på Forrang

int a = 5 + 3 * 2; // Evalueres som 5 + (3 * 2) = 11 int b = (5 + 3) * 2; // Evalueres som 8 * 2 = 16

Ofte Stillede Spørgsmål (FAQ)

Hvad er forskellen på tildelingsoperatoren (=) og ligestillingsoperatoren (==)?

Dette er en almindelig kilde til fejl for nye programmører. Tildelingsoperatoren (=) bruges til at tildele en værdi til en variabel. Ligestillingsoperatoren (==) bruges til at sammenligne to værdier for at se, om de er ens, og den returnerer true eller false.

Hvad betyder operatorforrang, og hvorfor er det vigtigt?

Operatorforrang er det sæt af regler, der dikterer den rækkefølge, hvori operatorer evalueres i et komplekst udtryk. Det er vigtigt for at sikre, at udtryk evalueres som forventet og for at undgå logiske fejl. For eksempel sikrer forrang, at 5 + 3 * 2 altid giver 11 og ikke 16.

Hvornår er den ternære operator nyttig?

Den ternære operator er nyttig til korte, koncise betingede tildelinger. Den kan gøre koden mere læsbar end en fuld if-else-blok, når logikken er simpel. For eksempel er string type = score > 50 ? "Bestået": "Ikke bestået"; mere kompakt end den tilsvarende if-else-struktur.

Hvad er forskellen på den logiske AND (&&) og bitwise AND (&)?

Den logiske AND (&&) arbejder med booleske værdier og er "short-circuiting". Det betyder, at hvis den første operand er false, evalueres den anden operand slet ikke. Bitwise AND (&) arbejder på de individuelle bits i numeriske typer og evaluerer altid begge operander. Den kan også bruges på booleske værdier, men uden short-circuiting.

Hvis du vil læse andre artikler, der ligner Operatorer i C#: En Komplet Guide, kan du besøge kategorien Sundhed.

Go up