logo

C# | Operatoriai

Operatoriai yra bet kurios programavimo kalbos pagrindas. Taigi funkcionalumas C# kalba yra neišsami, nenaudojant operatorių. Operatoriai leidžia mums atlikti įvairias operacijas operandų . Į C# , operatoriai Gali būti skirstomi į kategorijas pagrįstas jų skirtingi funkcionalumą :

C # operatoriai taip pat gali suskirstyti į kategorijas pagal operandų skaičių:

  • Unary Operator: Operatorius, kuris paima vienas operandą operacijai atlikti.
  • Dvejetainis operatorius: Operatorius, kuris paima du operandų operacijai atlikti.
  • Trečias operatorius: Operatorius, kuris paima trys operandų operacijai atlikti.

Aritmetiniai operatoriai



Jie naudojami operandų aritmetinėms / matematinėms operacijoms atlikti. The Dvejetainiai operatoriai patenka į šią kategoriją:

  • Papildymas: The '+' operatorius prideda du operandus. Pavyzdžiui, x+y .
  • Atimtis: The '-' operatorius atima du operandus. Pavyzdžiui, x-y .
  • Daugyba: The '*' operatorius padaugina du operandus. Pavyzdžiui, x*y .
  • Padalinys: The '/' operatorius padalija pirmąjį operandą iš antrojo. Pavyzdžiui, x/m .
  • Modulis: The '%' operatorius grąžina likusią dalį, kai pirmasis operandas yra padalintas iš antrojo. Pavyzdžiui, x%y .

Pavyzdys:

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);  }  } }>

Išvestis:

Addition Operator: 15 Subtraction Operator: 5 Multiplication Operator: 50 Division Operator: 2 Modulo Operator: 0>

Tie, kurie patenka į kategoriją Unary operatoriai yra:

  • Prieaugis: The '++' operatorius naudojamas sveikojo skaičiaus reikšmei padidinti. Kai dedamas prieš kintamojo pavadinimą (taip pat vadinamas išankstinis prieaugis operatorius), jo vertė iš karto padidinama. Pavyzdžiui, ++x .
    Ir kai jis dedamas po kintamojo pavadinimo (taip pat vadinamas po prieaugio operatorius ), jo vertė išsaugoma laikinai iki šio teiginio vykdymo ir atnaujinama prieš įvykdant kitą teiginį. Pavyzdžiui, x++ .
  • Sumažinti: The '--' operatorius naudojamas sveikojo skaičiaus reikšmei sumažinti. Kai dedamas prieš kintamojo pavadinimą (taip pat vadinamas prieš sumažinimą operatorius ), jo vertė akimirksniu sumažinama. Pavyzdžiui, – –x .
    Ir kai jis dedamas po kintamojo pavadinimo (taip pat vadinamas operatorius po sumažinimo ), jo vertė išsaugoma laikinai iki šio teiginio vykdymo ir atnaujinama prieš įvykdant kitą teiginį. Pavyzdžiui, x-- .

Pavyzdys:

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);       }  } }>

Išvestis:

dvejetainis paieškos medis vs dvejetainis medis
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>

Santykių operatoriai

Reliaciniai operatoriai naudojami dviejų reikšmių palyginimui. Pažiūrėkime juos po vieną:

  • '==' (lygu) operatorius patikrina, ar du duoti operandai yra lygūs, ar ne. Jei taip, tai grąžinama tiesa. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, 5==5 grįš tiesa.
  • ‘!='(Nelygus) operatorius patikrina, ar du duoti operandai yra lygūs, ar ne. Jei ne, tai grąžinama tiesa. Priešingu atveju jis grąžina klaidingą. Tai tikslus loginis papildinys '==' operatorius. Pavyzdžiui, 5 = 5 grįš klaidinga.
  • '>' (Didesnis nei) operatorius patikrina, ar pirmasis operandas yra didesnis už antrąjį operandą. Jei taip, tai grąžinama tiesa. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, 6>5 grįš tiesa.
  • '<'(Mažiau nei) operatorius patikrina, ar pirmasis operandas yra mažesnis už antrąjį operandą. Jei taip, tai grąžinama tiesa. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, 6<5 grįš klaidinga.
  • '>='(didesnis nei lygus) operatorius patikrina, ar pirmasis operandas yra didesnis arba lygus antrajam operandui. Jei taip, tai grąžinama tiesa. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, 5>=5 grįš tiesa.
  • ‘<='(Mažiau nei lygu) operatorius patikrina, ar pirmasis operandas yra mažesnis arba lygus antrajam operandui. Jei taip, tai grąžinama tiesa. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, 5<=5 taip pat grįš tiesa.

Pavyzdys:

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('Greater than Operator: ' + rezultatas);    // Mažiau nei operatoriaus rezultatas = (x< y);  Console.WriteLine('Less than Operator: ' + result);    // Greater than Equal to Operator  result = (x>= y);  Console.WriteLine('Greater than arba Equal to: '+ rezultatas);    // Mažiau nei lygus operatoriaus rezultatui = (x<= y);  Console.WriteLine('Lesser than or Equal to: '+ result);    // Not Equal To Operator  result = (x != y);  Console.WriteLine('Not Equal to Operator: ' + result);  } } }>

Išvestis:

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>

Loginiai operatoriai

Jie naudojami sujungti dvi ar daugiau sąlygų / apribojimų arba papildyti nagrinėjamos pradinės sąlygos vertinimą. Jie aprašyti toliau:

  • Logiška IR: The '&&' operatorius grąžina true, kai tenkinamos abi nagrinėjamos sąlygos. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, a && b grąžina tiesa, kai ir a, ir b yra teisingi (t. y. ne nulis).
  • Logiška ARBA: The '||' operatorius grąžina true, kai tenkinama viena (arba abi) iš nagrinėjamų sąlygų. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, a || b grąžina tiesa, jei vienas iš a arba b yra teisingas (t. y. ne nulis). Žinoma, jis grąžinamas tiesa, kai ir a, ir b yra teisingi.
  • Logiška NE: The '!' operatorius grąžina tiesa, nagrinėjama sąlyga netenkinama. Priešingu atveju jis grąžina klaidingą. Pavyzdžiui, !a grąžina tiesa, jei a yra klaidinga, t. y. kai a=0.

Pavyzdys:

C#
// C# program to demonstrate the working  // of Logical Operators using System; namespace Logical {   class GFG {    // Main Function  static void Main(string[] args)   } }>

Išvestis:

AND Operator: False OR Operator: True NOT Operator: False>

Bitiniai operatoriai

C# yra 6 bitų operatoriai, kurie veikia bitų lygiu arba naudojami bitų operacijoms atlikti. Toliau pateikiami bitiniai operatoriai:

string.format java string
  • & (bitais IR) Paima du skaičius kaip operandus ir daro IR kiekviename dviejų skaičių bite. IR rezultatas yra 1, tik jei abu bitai yra 1.
  • | (bitais ARBA) Paima du skaičius kaip operandus ir daro ARBA kiekvienam dviejų skaičių bitui. ARBA rezultatas yra 1, bet kuris iš dviejų bitų yra 1.
  • ^ (bitinis XOR) Paima du skaičius kaip operandus ir atlieka XOR kiekviename dviejų skaičių bite. XOR rezultatas yra 1, jei du bitai skiriasi.
  • ~ (bitinis papildymas) Paima vieną skaičių kaip operandą ir apverčia kiekvieną bitą, kuris yra nuo 1 iki 0 ir nuo 0 iki 1.
  • << (pamainas į kairę) Paima du skaičius, kairėn perkelia pirmojo operando bitus, antrasis operandas nusprendžia, kiek vietų perkelti.
  • >> (pasukimas į dešinę) Paima du skaičius, į dešinę perkelia pirmojo operando bitus, antrasis operandas nusprendžia, kiek vietų reikia perkelti.

Pavyzdys:

C#
// 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  } }>

Išvestis:

Bitwise AND: 0 Bitwise OR: 15 Bitwise XOR: 15 Bitwise Complement: -6 Bitwise Left Shift: 20 Bitwise Right Shift: 1>

Užduočių operatoriai

Priskyrimo operatoriai naudojami kintamajam reikšmei priskirti. Kairysis priskyrimo operatoriaus operandas yra kintamasis, o dešinysis priskyrimo operatorius yra reikšmė. Dešinėje pusėje esanti reikšmė turi būti tokio paties tipo kaip ir kairėje pusėje esantis kintamasis, kitaip kompiliatorius sukels klaidą.

Toliau pateikiami skirtingų tipų priskyrimo operatoriai:

  • =(Paprasta užduotis) : Tai paprasčiausias priskyrimo operatorius. Šis operatorius naudojamas reikšmei dešinėje priskirti kintamajam kairėje.
    Pavyzdys:
a = 10; b = 20; ch = 'y';>
  • +=(Pridėti užduotį) : šis operatorius yra „+“ ir „=“ operatorių derinys. Šis operatorius pirmiausia prideda esamą kintamojo kairėje vertę prie vertės dešinėje, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a += b) can be written as (a = a + b)>

Jei iš pradžių a įrašyta reikšmė yra 5. Tada (a += 6) = 11.

  • -=(Atimti užduotį) : šis operatorius yra „-“ ir „=“ operatorių derinys. Šis operatorius pirmiausia atima dabartinę kairėje esančio kintamojo vertę iš vertės dešinėje, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a -= b) can be written as (a = a - b)>

Jei iš pradžių a įrašyta reikšmė yra 8. Tada (a -= 6) = 2.

  • *=(Daugybinis priskyrimas) : šis operatorius yra „*“ ir „=“ operatorių derinys. Šis operatorius pirmiausia padaugina esamą kintamojo kairėje reikšmę iš vertės dešinėje, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a *= b) can be written as (a = a * b)>

Jei iš pradžių a įrašyta reikšmė yra 5. Tada (a *= 6) = 30.

  • /=(Padalinio priskyrimas): Šis operatorius yra „/“ ir „=“ operatorių derinys. Šis operatorius pirmiausia padalija dabartinę kintamojo kairėje reikšmę iš vertės dešinėje, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a /= b) can be written as (a = a / b)>

Jei iš pradžių a įrašyta reikšmė yra 6. Tada (a /= 2) = 3.

  • %=(Modulio priskyrimas): Šis operatorius yra „%“ ir „=“ operatorių derinys. Šis operatorius pirmiausia pakeičia kairėje esančio kintamojo dabartinę reikšmę dešinėje esančia reikšme, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a %= b) can be written as (a = a % b)>

Jei iš pradžių a įrašyta reikšmė yra 6. Tada (a %= 2) = 0.

  • <<=(Priskyrimas į kairę pamainą) : šis operatorius yra „<<“ ir „=“ operatorių derinys. Šis operatorius pirmiausia perkelia dabartinę kairėje esančio kintamojo reikšmę dešinėje esančia reikšme, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a <<= 2) can be written as (a = a << 2)>

Jei iš pradžių a įrašyta reikšmė yra 6. Tada (a <<= 2) = 24.

pagrindinis metodas java
  • >>=(Dešiniojo poslinkio priskyrimas) : šis operatorius yra „>>“ ir „=“ operatorių derinys. Šis operatorius pirmiausia perkelia dabartinę kintamojo kairėje reikšmę dešinėje esančia reikšme, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a>>= 2) gali būti parašytas kaip (a = a>> 2)>

Jei iš pradžių a įrašyta reikšmė yra 6. Tada (a>>= 2) = 1.

  • &=(Bitiškai IR priskyrimas) : šis operatorius yra „&“ ir „=“ operatorių derinys. Šis operatorius pirmiausia bitais IR dabartinę kairėje esančio kintamojo reikšmę dešinėje esančia reikšme, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a &= 2) can be written as (a = a & 2)>

Jei iš pradžių a įrašyta reikšmė yra 6. Tada (a &= 2) = 2.

  • ^= (Išskirtinis bitų skaičius ARBA) : šis operatorius yra „^“ ir „=“ operatorių derinys. Šis operatorius pirmiausia išskiria Bitwise Exclusive ARBA dabartinę kairėje esančio kintamojo reikšmę dešinėje esančia verte, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys:
(a ^= 2) can be written as (a = a ^ 2)>

Jei iš pradžių a įrašyta reikšmė yra 6. Tada (a ^= 2) = 4.

  • |=(Bitiškai imtinai ARBA) : Šis operatorius yra „|“ ir „=“ operatorių derinys. Šis operatorius pirmiausia įtraukia Bitwise Inclusive ARBA dabartinę kairėje esančio kintamojo reikšmę dešinėje esančia verte, o tada priskiria rezultatą kintamajam kairėje.
    Pavyzdys :
(a |= 2) can be written as (a = a | 2)>

Jei iš pradžių, a saugoma reikšmė yra 6. Tada (a |= 2) = 6.

Pavyzdys:

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);     } }>

Išvestis:

apibrėžti kompiuterį
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>

Sąlyginis operatorius

Tai yra trijų dalių operatorius, kuris yra trumpinė if-else teiginio versija. Jame yra trys operandai, taigi ir pavadinimas trejetas. Jis grąžins vieną iš dviejų reikšmių, priklausomai nuo Būlio išraiškos reikšmės.

Sintaksė:

condition ? first_expression : second_expression;>

Paaiškinimas:
sąlyga: ji turi būti įvertinta kaip teisinga arba klaidinga.
Jei sąlyga yra teisinga
pirmoji_išraiška įvertinama ir tampa rezultatu.
Jei sąlyga klaidinga,
antra_išraiška įvertinama ir tampa rezultatu.

Pavyzdys:

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;     // Rezultatui rodyti Console.WriteLine('Result: ' + rezultatas);    // Norėdami sužinoti, kuri reikšmė didesnė // Sąlyginio operatoriaus naudojimas rezultatas = x< y ? x : y;     // To display the result  Console.WriteLine('Result: ' + result);  } } }>

Išvestis:

Result: 10 Result: 5>