logo

C# | Operatori

Operatorii sunt baza oricărui limbaj de programare. Astfel funcționalitatea de C# limbajul este incomplet fără utilizarea operatorilor. Operatorii ne permit să efectuăm diferite tipuri de operațiuni operanzi . În C# , operatori Pot fi clasificați bazat pe diferitele lor funcţionalitate :

În C#, Operatorii pot, de asemenea, clasificați bazat pe numărul de operanzi:

  • Operator unar: Operator care ia unu operand pentru a efectua operația.
  • Operator binar: Operator care ia Două operanzi pentru a efectua operația.
  • Operator ternar: Operator care ia Trei operanzi pentru a efectua operația.

Operatori aritmetici



Acestea sunt folosite pentru a efectua operații aritmetice/matematice pe operanzi. The Operatori binari care se încadrează în această categorie sunt:

  • Plus: The '+' operatorul adaugă doi operanzi. De exemplu, x+y .
  • Scădere: The '-' operatorul scade doi operanzi. De exemplu, X y .
  • Multiplicare: The '*' operatorul înmulțește doi operanzi. De exemplu, X y .
  • Divizia: The '/' operator împarte primul operand la al doilea. De exemplu, X y .
  • Modul: The '%' operatorul returnează restul când primul operand este împărțit la al doilea. De exemplu, X y .

Exemplu:

unordered_map c++
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);  }  } }>

Ieșire:

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

Cele care se încadrează în categoria de Operatori unari sunt:

  • Creştere: The „++” operator este folosit pentru a incrementa valoarea unui număr întreg. Când este plasat înaintea numelui variabilei (numit și pre-incrementare operator), valoarea acestuia este incrementată instantaneu. De exemplu, ++x .
    Și când este plasat după numele variabilei (numit și operator post-increment ), valoarea sa este păstrată temporar până la executarea acestei instrucțiuni și este actualizată înainte de execuția următoarei instrucțiuni. De exemplu, x++ .
  • Decrementează: The '--' operator este folosit pentru a decrementa valoarea unui întreg. Când este plasat înaintea numelui variabilei (numit și operator pre-decrementare ), valoarea sa este decrementată instantaneu. De exemplu, - -X .
    Și când este plasat după numele variabilei (numit și operator post-decrementare ), valoarea sa este păstrată temporar până la executarea acestei instrucțiuni și este actualizată înainte de execuția următoarei instrucțiuni. De exemplu, X- - .

Exemplu:

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

Ieșire:

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>

Operatori Relaționali

Operatorii relaționali sunt utilizați pentru compararea a două valori. Să le vedem unul câte unul:

  • ‘==’(Egal cu) operatorul verifică dacă cei doi operanzi dați sunt egali sau nu. Dacă da, se întoarce adevărat. În caz contrar, se întoarce false. De exemplu, 5==5 va reveni adevărat.
  • ‘!=’(Nu este egal cu) operatorul verifică dacă cei doi operanzi dați sunt egali sau nu. Dacă nu, se întoarce adevărat. În caz contrar, se întoarce false. Este complementul boolean exact al lui '==' operator. De exemplu, 5!=5 va returna false.
  • „>” (Mai mare decât) operatorul verifică dacă primul operand este mai mare decât al doilea operand. Dacă da, se întoarce adevărat. În caz contrar, se întoarce false. De exemplu, 6>5 va reveni adevărat.
  • „<‘(Mai puțin decât) operatorul verifică dacă primul operand este mai mic decât al doilea operand. Dacă da, se întoarce adevărat. În caz contrar, se întoarce false. De exemplu, 6<5 va returna false.
  • „>=”(Mai mare decât egal cu) operatorul verifică dacă primul operand este mai mare sau egal cu al doilea operand. Dacă da, se întoarce adevărat. În caz contrar, se întoarce false. De exemplu, 5>=5 va reveni adevărat.
  • „<=”(mai puțin egal cu) operatorul verifică dacă primul operand este mai mic sau egal cu al doilea operand. Dacă da, se întoarce adevărat. În caz contrar, se întoarce false. De exemplu, 5<=5 va reveni și adevărat.

Exemplu:

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('Mai mare decât Operatorul: ' + rezultat);    // Mai puțin decât rezultatul operatorului = (x< y);  Console.WriteLine('Less than Operator: ' + result);    // Greater than Equal to Operator  result = (x>= y);  Console.WriteLine('Mai mare sau egal cu: '+ rezultat);    // Mai puțin decât Egal cu rezultatul operatorului = (x<= y);  Console.WriteLine('Lesser than or Equal to: '+ result);    // Not Equal To Operator  result = (x != y);  Console.WriteLine('Not Equal to Operator: ' + result);  } } }>

Ieșire:

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>

Operatori logici

Ele sunt utilizate pentru a combina două sau mai multe condiții/constrângeri sau pentru a completa evaluarea condiției inițiale luate în considerare. Acestea sunt descrise mai jos:

  • ȘI logic: The „&&” operatorul returnează adevărat atunci când ambele condiții luate în considerare sunt îndeplinite. În caz contrar, se întoarce false. De exemplu, a && b returnează adevărat atunci când a și b sunt adevărate (adică diferit de zero).
  • SAU logic: The '||' operator returnează adevărat atunci când una (sau ambele) dintre condițiile luate în considerare este îndeplinită. În caz contrar, se întoarce false. De exemplu, a || b returnează adevărat dacă unul dintre a sau b este adevărat (adică diferit de zero). Desigur, returnează adevărat atunci când ambele a și b sunt adevărate.
  • logic NU: The '!' operatorul returnează adevărat, condiția luată în considerare nu este îndeplinită. În caz contrar, se întoarce false. De exemplu, !A returnează adevărat dacă a este fals, adică atunci când a=0.

Exemplu:

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

Ieșire:

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

Operatori pe biți

În C#, există 6 operatori pe biți care funcționează la nivel de biți sau sunt utilizați pentru a efectua operații bit cu bit. Următorii sunt operatorii pe biți:

baza de date java jdbc
  • & (SI pe biți) Ia două numere ca operanzi și face AND pe fiecare bit din două numere. Rezultatul AND este 1 numai dacă ambii biți sunt 1.
  • | (SAU pe biți) Ia două numere ca operanzi și face SAU pe fiecare bit din două numere. Rezultatul OR este 1, oricare dintre cei doi biți este 1.
  • ^ (XOR pe bit) Ia două numere ca operanzi și face XOR pe fiecare bit din două numere. Rezultatul XOR este 1 dacă cei doi biți sunt diferiți.
  • ~ (complement pe biți) Ia un număr ca operand și inversează fiecare biți care este de la 1 la 0 și de la 0 la 1.
  • << (schimba la stânga) Preia două numere, la stânga mută biții primului operand, al doilea operand decide numărul de locuri de deplasat.
  • >> (schimba la dreapta) Ia două numere, la dreapta deplasează biții primului operand, al doilea operand decide numărul de locuri de mutat.

Exemplu:

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

Ieșire:

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

Operatori de atribuire

Operatorii de atribuire sunt obișnuiți să atribuie o valoare unei variabile. Operandul din stânga al operatorului de atribuire este o variabilă, iar operandul din dreapta al operatorului de atribuire este o valoare. Valoarea din partea dreaptă trebuie să fie de același tip de date a variabilei din partea stângă, altfel compilatorul va genera o eroare.

Diferite tipuri de operatori de atribuire sunt prezentate mai jos:

  • =(Tarcere simplă) : Acesta este cel mai simplu operator de atribuire. Acest operator este folosit pentru a atribui valoarea din dreapta variabilei din stânga.
    Exemplu:
a = 10; b = 20; ch = 'y';>
  • +=(Adaugă o temă) : Acest operator este o combinație de operatori „+” și „=”. Acest operator adaugă mai întâi valoarea curentă a variabilei din stânga la valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a += b) can be written as (a = a + b)>

Dacă valoarea inițială stocată în a este 5. Atunci (a += 6) = 11.

  • -=(Scăderea sarcinii) : Acest operator este o combinație de operatori „-” și „=”. Acest operator scade mai întâi valoarea curentă a variabilei din stânga din valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a -= b) can be written as (a = a - b)>

Dacă valoarea inițială stocată în a este 8. Atunci (a -= 6) = 2.

  • *=(Înmulțirea sarcinii) : Acest operator este o combinație de operatori „*” și „=”. Acest operator înmulțește mai întâi valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a *= b) can be written as (a = a * b)>

Dacă valoarea inițială stocată în a este 5. Atunci (a *= 6) = 30.

  • /=(Atribuirea diviziei): Acest operator este o combinație de operatori „/” și „=”. Acest operator împarte mai întâi valoarea curentă a variabilei din stânga la valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a /= b) can be written as (a = a / b)>

Dacă valoarea inițială stocată în a este 6. Atunci (a /= 2) = 3.

  • %=(Atribuire modul): Acest operator este o combinație de operatori „%” și „=”. Acest operator mai întâi modulează valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a %= b) can be written as (a = a % b)>

Dacă valoarea inițială stocată în a este 6. Atunci (a %= 2) = 0.

conversia șir la dată
  • <<=(Atribuire la tura la stânga) : Acest operator este o combinație de operatori „<<” și „=”. Acest operator mai întâi Stânga schimbă valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a <<= 2) can be written as (a = a << 2)>

Dacă valoarea inițială stocată în a este 6. Atunci (a <<= 2) = 24.

  • >>=(Atribuire schimbare la dreapta) : Acest operator este o combinație de operatori „>>” și ​​„=”. Acest operator mută mai întâi la dreapta valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a>>= 2) poate fi scris ca (a = a>> 2)>

Dacă valoarea inițială stocată în a este 6. Atunci (a>>= 2) = 1.

  • &=(Atribuire ȘI pe biți) : Acest operator este o combinație de operatori „&” și „=”. Acest operator mai întâi pe biți ȘI valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a &= 2) can be written as (a = a & 2)>

Dacă valoarea inițială stocată în a este 6. Atunci (a &= 2) = 2.

  • ^=(SAU exclusiv pe biți) : Acest operator este o combinație de operatori „^” și „=”. Acest operator mai întâi Bitwise Exclusive SAU valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a ^= 2) can be written as (a = a ^ 2)>

Dacă valoarea inițială stocată în a este 6. Atunci (a ^= 2) = 4.

  • |=(Inclusiv pe biți SAU) : Acest operator este o combinație de operatori „|” și „=”. Acest operator mai întâi Bitwise Inclusive SAU valoarea curentă a variabilei din stânga cu valoarea din dreapta și apoi atribuie rezultatul variabilei din stânga.
    Exemplu:
(a |= 2) can be written as (a = a | 2)>

Dacă inițial, valoarea stocată în a este 6. Atunci (a |= 2) = 6.

Exemplu:

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

Ieșire:

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>

Operator condiționat

Este un operator ternar care este o versiune prescurtată a instrucțiunii if-else. Are trei operanzi și de aici și numele ternar. Va returna una dintre cele două valori în funcție de valoarea unei expresii booleene.

Sintaxă:

condition ? first_expression : second_expression;>

Explicaţie:
condiție: trebuie evaluată la adevărat sau fals.
Dacă condiția este adevărată
first_expression este evaluată și devine rezultatul.
Dacă condiția este falsă,
second_expression este evaluată și devine rezultatul.

Exemplu:

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;     // Pentru a afișa rezultatul Console.WriteLine('Result: ' + result);    // Pentru a afla ce valoare este mai mare // Folosind Operatorul Condițional rezultat = x< y ? x : y;     // To display the result  Console.WriteLine('Result: ' + result);  } } }>

Ieșire:

Result: 10 Result: 5>