Operatører er grundlaget for ethvert programmeringssprog. Således funktionaliteten af C# sproget er ufuldstændigt uden brug af operatører. Operatører giver os mulighed for at udføre forskellige slags operationer på operander . I C# , operatører Kan kategoriseres baseret på deres forskellige funktionalitet :
- Aritmetiske operatorer
- Relationelle operatører
- Logiske operatører
- Bitwise operatører
- Opdragsoperatører
- Betinget operatør
I C# kan operatører også kategorisere baseret på antal operander:
- Unær operatør: Operatør der tager en operand for at udføre operationen.
- Binær operatør: Operatør der tager to operander til at udføre operationen.
- Ternær operatør: Operatør der tager tre operander til at udføre operationen.
Aritmetiske operatorer
Disse bruges til at udføre aritmetiske/matematiske operationer på operander. Det Binære operatører falder i denne kategori er:
- Tilføjelse: Det '+' operator tilføjer to operander. For eksempel, x+y .
- Subtraktion: Det '-' operator trækker to operander fra. For eksempel, x-y .
- Multiplikation: Det '*' operator multiplicerer to operander. For eksempel, x*y .
- Division: Det '/' operator deler den første operand med den anden. For eksempel, x/y .
- Modulus: Det '%' operator returnerer resten, når den første operand divideres med den anden. For eksempel, x%y .
Eksempel:
C# // C# program to demonstrate the working // of Binary Arithmetic Operators using System; namespace Arithmetic { class GFG { // Main Function static void Main(string[] args) { int result; int x = 10, y = 5; // Addition result = (x + y); Console.WriteLine('Addition Operator: ' + result); // Subtraction result = (x - y); Console.WriteLine('Subtraction Operator: ' + result); // Multiplication result = (x * y); Console.WriteLine('Multiplication Operator: '+ result); // Division result = (x / y); Console.WriteLine('Division Operator: ' + result); // Modulo result = (x % y); Console.WriteLine('Modulo Operator: ' + result); } } }> Produktion:
Addition Operator: 15 Subtraction Operator: 5 Multiplication Operator: 50 Division Operator: 2 Modulo Operator: 0>
Dem, der falder ind under kategorien Unære operatører er:
tilfældig talgenerator i c
- Forøgelse: Det '++' operator bruges til at øge værdien af et heltal. Når det placeres før variabelnavnet (kaldes også forudgående stigning operatør), dens værdi øges øjeblikkeligt. For eksempel, ++x .
Og når den er placeret efter variabelnavnet (også kaldet post-increment operatør ), dens værdi bevares midlertidigt indtil udførelsen af denne sætning, og den bliver opdateret før udførelsen af den næste sætning. For eksempel, x++ . - Reduktion: Det '- -' operator bruges til at formindske værdien af et heltal. Når det placeres før variabelnavnet (kaldes også præ-dekrement operatør ), dens værdi formindskes øjeblikkeligt. For eksempel, - -x .
Og når den er placeret efter variabelnavnet (også kaldet operatør efter nedsættelse ), dens værdi bevares midlertidigt indtil udførelsen af denne sætning, og den bliver opdateret før udførelsen af den næste sætning. For eksempel, x- - .
Eksempel:
C# // C# program to demonstrate the working // of Unary Arithmetic Operators using System; namespace Arithmetic { class GFG { // Main Function static void Main(string[] args) { int a = 10, res; // post-increment example: // res is assigned 10 only, // a is not updated yet res = a++; //a becomes 11 now Console.WriteLine('a is {0} and res is {1}', a, res); // post-decrement example: // res is assigned 11 only, a is not updated yet res = a--; //a becomes 10 now Console.WriteLine('a is {0} and res is {1}', a, res); // pre-increment example: // res is assigned 11 now since a // is updated here itself res = ++a; // a and res have same values = 11 Console.WriteLine('a is {0} and res is {1}', a, res); // pre-decrement example: // res is assigned 10 only since // a is updated here itself res = --a; // a and res have same values = 10 Console.WriteLine('a is {0} and res is {1}',a, res); } } }> Produktion:
a is 11 and res is 10 a is 10 and res is 11 a is 11 and res is 11 a is 10 and res is 10>
Relationelle operatører
Relationelle operatorer bruges til sammenligning af to værdier. Lad os se dem én efter én:
ssis tutorial
- '=='(lig med) operatør kontrollerer, om de to givne operander er ens eller ej. Hvis det er tilfældet, vender det tilbage. Ellers returnerer den falsk. For eksempel, 5==5 vil vende tilbage sandt.
- '!='(Ikke lig med) operatør kontrollerer, om de to givne operander er ens eller ej. Hvis ikke, vender det tilbage. Ellers returnerer den falsk. Det er det nøjagtige booleske komplement til '==' operatør. For eksempel, 5!=5 vil returnere falsk.
- '>'(Større end) operatør kontrollerer, om den første operand er større end den anden operand. Hvis det er tilfældet, vender det tilbage. Ellers returnerer den falsk. For eksempel, 6>5 vil vende tilbage sandt.
- '<'(mindre end) operatør kontrollerer, om den første operand er mindre end den anden operand. Hvis det er tilfældet, vender det tilbage. Ellers returnerer den falsk. For eksempel, 6<5 vil returnere falsk.
- '>='(Større end lig med) operatør kontrollerer, om den første operand er større end eller lig med den anden operand. Hvis det er tilfældet, vender det tilbage. Ellers returnerer den falsk. For eksempel, 5>=5 vil vende tilbage sandt.
- '<='(mindre end lig med) operatør kontrollerer, om den første operand er mindre end eller lig med den anden operand. Hvis det er tilfældet, vender det tilbage. Ellers returnerer den falsk. For eksempel, 5<=5 vil også vende tilbage sandt.
Eksempel:
C# // C# program to demonstrate the working // of Relational Operators using System; namespace Relational { class GFG { // Main Function static void Main(string[] args) { bool result; int x = 5, y = 10; // Equal to Operator result = (x == y); Console.WriteLine('Equal to Operator: ' + result); // Greater than Operator result = (x>y); Console.WriteLine('Større end operatør: ' + resultat); // Mindre end operatørresultat = (x< y); Console.WriteLine('Less than Operator: ' + result); // Greater than Equal to Operator result = (x>= y); Console.WriteLine('Større end eller lig med: '+ resultat); // Mindre end lig med operatørresultat = (x<= y); Console.WriteLine('Lesser than or Equal to: '+ result); // Not Equal To Operator result = (x != y); Console.WriteLine('Not Equal to Operator: ' + result); } } }> Produktion:
Equal to Operator: False Greater than Operator: False Less than Operator: True Greater than or Equal to: False Lesser than or Equal to: True Not Equal to Operator: True>
Logiske operatører
De bruges til at kombinere to eller flere betingelser/begrænsninger eller til at supplere evalueringen af den oprindelige tilstand i betragtning. De er beskrevet nedenfor:
- Logisk OG: Det '&&' operatør returnerer sandt, når begge betingelserne i betragtning er opfyldt. Ellers returnerer den falsk. For eksempel, a && b returnerer sand, når både a og b er sande (dvs. ikke-nul).
- Logisk ELLER: Det '||' operatør returnerer sandt, når en (eller begge) af betingelserne i betragtning er opfyldt. Ellers returnerer den falsk. For eksempel, en || b returnerer sand, hvis en af a eller b er sand (dvs. ikke-nul). Selvfølgelig returnerer det sandt, når både a og b er sande.
- Logisk IKKE: Det '!' operatør returnerer sandt, betingelsen i betragtning ikke er opfyldt. Ellers returnerer den falsk. For eksempel, !en returnerer sand, hvis a er falsk, dvs. når a=0.
Eksempel:
C# // C# program to demonstrate the working // of Logical Operators using System; namespace Logical { class GFG { // Main Function static void Main(string[] args) } }> Produktion:
AND Operator: False OR Operator: True NOT Operator: False>
Bitwise operatører
I C# er der 6 bitvise operatorer, som arbejder på bitniveau eller bruges til at udføre bit for bit operationer. Følgende er de bitvise operatorer:
- & (bitvist OG) Tager to tal som operander og gør OG på hver bit af to tal. Resultatet af OG er kun 1, hvis begge bits er 1.
- | (bitvist ELLER) Tager to tal som operander og gør OR på hver bit af to tal. Resultatet af OR er 1 enhver af de to bits er 1.
- ^ (bitvis XOR) Tager to tal som operander og laver XOR på hver bit af to tal. Resultatet af XOR er 1, hvis de to bits er forskellige.
- ~ (bitvist komplement) Tager et tal som operand og inverterer hver bit, der er 1 til 0 og 0 til 1.
- << (venstre skift) Tager to tal, til venstre flytter bits af den første operand, den anden operand bestemmer antallet af steder, der skal skiftes.
- >> (højre skift) Tager to tal, højre forskyder bits af den første operand, den anden operand bestemmer antallet af steder, der skal skiftes.
Eksempel:
polymorfi i javaC#
// C# program to demonstrate the working // of Bitwise Operators using System; namespace Bitwise { class GFG { // Main Function static void Main(string[] args) int x = 5, y = 10, result; // Bitwise AND Operator result = x & y; Console.WriteLine('Bitwise AND: ' + result); // Bitwise OR Operator result = x } }> Produktion:
Bitwise AND: 0 Bitwise OR: 15 Bitwise XOR: 15 Bitwise Complement: -6 Bitwise Left Shift: 20 Bitwise Right Shift: 1>
Opdragsoperatører
Tildelingsoperatorer bruges til at tildele en værdi til en variabel. Venstre operand af tildelingsoperand er en variabel, og højre side operand af tildelingsoperand er en værdi. Værdien på højre side skal være af samme datatype som variablen på venstre side, ellers vil compileren rejse en fejl.
Forskellige typer tildelingsoperatører er vist nedenfor:
- =(Simpel opgave) : Dette er den enkleste tildelingsoperator. Denne operator bruges til at tildele værdien til højre til variablen til venstre.
Eksempel:
a = 10; b = 20; ch = 'y';>
- +=(Tilføj opgave) : Denne operator er en kombination af '+' og '=' operatorer. Denne operator tilføjer først den aktuelle værdi af variablen til venstre til værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a += b) can be written as (a = a + b)>
Hvis den oprindelige værdi gemt i a er 5. Så (a += 6) = 11.
- -=(træk opgave fra) : Denne operator er en kombination af '-' og '=' operatorer. Denne operator trækker først den aktuelle værdi af variablen til venstre fra værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a -= b) can be written as (a = a - b)>
Hvis den oprindelige værdi gemt i a er 8. Så (a -= 6) = 2.
- *=(Multiplicer opgave) : Denne operator er en kombination af '*' og '=' operatorer. Denne operator multiplicerer først den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a *= b) can be written as (a = a * b)>
Hvis den oprindelige værdi gemt i a er 5. Så (a *= 6) = 30.
- /=(Divisionsopgave): Denne operator er en kombination af '/' og '=' operatorer. Denne operator deler først den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a /= b) can be written as (a = a / b)>
Hvis den oprindelige værdi gemt i a er 6. Så er (a /= 2) = 3.
forskel på en løve og en tiger
- %=(Modultildeling): Denne operator er en kombination af '%' og '=' operatorer. Denne operator modulerer først den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a %= b) can be written as (a = a % b)>
Hvis den oprindelige værdi gemt i a er 6. Så (a %= 2) = 0.
- <<=(Venstre Shift-tildeling) : Denne operator er en kombination af '<<' og '=' operatorer. Denne operator forskyder først den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a <<= 2) can be written as (a = a << 2)>
Hvis den oprindelige værdi gemt i a er 6. Så (a <<= 2) = 24.
- >>=(Højre skift tildeling) : Denne operator er en kombination af '>>' og '=' operatorer. Denne operator flytter først til højre den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a>>= 2) kan skrives som (a = a>> 2)>
Hvis den oprindelige værdi gemt i a er 6. Så er (a>>= 2) = 1.
- &=(Bitwise AND Assignment) : Denne operator er en kombination af '&' og '=' operatorer. Denne operator først Bitwise OG den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a &= 2) can be written as (a = a & 2)>
Hvis den oprindelige værdi gemt i a er 6. Så er (a &= 2) = 2.
- ^=(Bitwise Exclusive ELLER) : Denne operator er en kombination af '^' og '=' operatorer. Denne operator først Bitwise Exclusive ELLER den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a ^= 2) can be written as (a = a ^ 2)>
Hvis den oprindelige værdi gemt i a er 6. Så er (a ^= 2) = 4.
- |=(Bitwise Inclusive ELLER) : Denne operator er en kombination af '|' og '=' operatorer. Denne operator inkluderer først Bitwise Inclusive ELLER den aktuelle værdi af variablen til venstre med værdien til højre og tildeler derefter resultatet til variablen til venstre.
Eksempel:
(a |= 2) can be written as (a = a | 2)>
Hvis den oprindelige værdi er gemt i a 6. Så er (a |= 2) = 6.
Eksempel:
C# // C# program to demonstrate the working // of Assignment Operators using System; namespace Assignment { class GFG { // Main Function static void Main(string[] args) = 4; Console.WriteLine('Bitwise Inclusive OR Assignment Operator: ' + x); } }> Output:
alfabet og tal
Add Assignment Operator: 25 Subtract Assignment Operator: 15 Multiply Assignment Operator: 75 Division Assignment Operator: 5 Modulo Assignment Operator: 0 Left Shift Assignment Operator: 32 Right Shift Assignment Operator: 2 Bitwise AND Assignment Operator: 4 Bitwise Exclusive OR Assignment Operator: 8 Bitwise Inclusive OR Assignment Operator: 12>
Betinget operatør
Det er en ternær operator, som er en stenografi af if-else-sætningen. Den har tre operander og deraf navnet ternær. Det vil returnere en af to værdier afhængigt af værdien af et boolesk udtryk.
Syntaks:
condition ? first_expression : second_expression;>
Forklaring:
betingelse: Den skal vurderes til sand eller falsk.
Hvis betingelsen er sand
first_expression evalueres og bliver resultatet.
Hvis betingelsen er falsk,
second_expression evalueres og bliver resultatet.
Eksempel:
C# // C# program to demonstrate the working // of Conditional Operator using System; namespace Conditional { class GFG { // Main Function static void Main(string[] args) { int x = 5, y = 10, result; // To find which value is greater // Using Conditional Operator result = x>y ? x: y; // For at vise resultatet Console.WriteLine('Resultat: ' + resultat); // For at finde, hvilken værdi der er størst // Brug af betinget operatør resultat = x< y ? x : y; // To display the result Console.WriteLine('Result: ' + result); } } }> Output:
Result: 10 Result: 5>