logo

C# | Operatori

Gli operatori sono il fondamento di qualsiasi linguaggio di programmazione. Quindi la funzionalità di C# il linguaggio è incompleto senza l'uso degli operatori. Gli operatori ci consentono di eseguire diversi tipi di operazioni su operandi . In C# , operatori Possono essere classificati basato su loro diversi funzionalità :

In C# è anche possibile classificare gli operatori in base al numero di operandi:

  • Operatore unario: Operatore che prende uno operando per eseguire l'operazione.
  • Operatore binario: Operatore che prende due operandi per eseguire l'operazione.
  • Operatore ternario: Operatore che prende tre operandi per eseguire l'operazione.

Operatori aritmetici



rinominare la directory Linux

Questi vengono utilizzati per eseguire operazioni aritmetiche/matematiche sugli operandi. IL Operatori binari rientrano in questa categoria sono:

  • Aggiunta: IL '+' L'operatore aggiunge due operandi. Per esempio, x+y .
  • Sottrazione: IL '-' l'operatore sottrae due operandi. Per esempio, xy .
  • Moltiplicazione: IL '*' L'operatore moltiplica due operandi. Per esempio, x*y .
  • Divisione: IL '/' L'operatore divide il primo operando per il secondo. Per esempio, x/y .
  • Modulo: IL '%' L'operatore restituisce il resto quando il primo operando viene diviso per il secondo. Per esempio, x%y .

Esempio:

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

Produzione:

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

Quelli che rientrano nella categoria di Operatori unari Sono:

  • Incremento: IL '++' L'operatore viene utilizzato per incrementare il valore di un numero intero. Quando posizionato prima del nome della variabile (chiamato anche pre-incremento operatore), il suo valore viene incrementato istantaneamente. Per esempio, ++x .
    E quando viene posizionato dopo il nome della variabile (chiamata anche operatore di post-incremento ), il suo valore viene conservato temporaneamente fino all'esecuzione di questa istruzione e viene aggiornato prima dell'esecuzione dell'istruzione successiva. Per esempio, x++ .
  • Decremento: IL '- -' L'operatore viene utilizzato per diminuire il valore di un numero intero. Quando posizionato prima del nome della variabile (chiamato anche operatore di pre-decremento ), il suo valore viene decrementato istantaneamente. Per esempio, - -X .
    E quando viene posizionato dopo il nome della variabile (chiamata anche operatore post-decremento ), il suo valore viene conservato temporaneamente fino all'esecuzione di questa istruzione e viene aggiornato prima dell'esecuzione dell'istruzione successiva. Per esempio, X- - .

Esempio:

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

Produzione:

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 relazionali

Gli operatori relazionali vengono utilizzati per il confronto di due valori. Vediamoli uno per uno:

numerare l'alfabeto
  • '=='(Uguale a) L'operatore controlla se i due operandi dati sono uguali o meno. Se è così, restituisce true. Altrimenti restituisce false. Per esempio, 5==5 restituirà vero.
  • '!='(Diverso da) L'operatore controlla se i due operandi dati sono uguali o meno. In caso contrario, restituisce true. Altrimenti restituisce false. È l'esatto complemento booleano di '==' operatore. Per esempio, 5!=5 restituirà falso.
  • '>'(Maggiore di) L'operatore controlla se il primo operando è maggiore del secondo operando. Se è così, restituisce true. Altrimenti restituisce false. Per esempio, 6>5 restituirà vero.
  • '<'(Minore di) L'operatore controlla se il primo operando è minore del secondo operando. Se è così, restituisce true. Altrimenti restituisce false. Per esempio, 6<5 restituirà falso.
  • '>='(Maggiore di uguale a) L'operatore controlla se il primo operando è maggiore o uguale al secondo operando. Se è così, restituisce true. Altrimenti restituisce false. Per esempio, 5>=5 restituirà vero.
  • '<='(Minore di uguale a) L'operatore controlla se il primo operando è minore o uguale al secondo operando. Se è così, restituisce true. Altrimenti restituisce false. Per esempio, 5<=5 restituirà anche vero.

Esempio:

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>sì);  Console.WriteLine('Operatore maggiore di: ' + risultato);    // Risultato operatore minore di = (x< y);  Console.WriteLine('Less than Operator: ' + result);    // Greater than Equal to Operator  result = (x>= y);  Console.WriteLine('Maggiore o uguale a: '+ risultato);    // Risultato dell'operatore minore di uguale a = (x<= y);  Console.WriteLine('Lesser than or Equal to: '+ result);    // Not Equal To Operator  result = (x != y);  Console.WriteLine('Not Equal to Operator: ' + result);  } } }>

Produzione:

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

Sono utilizzati per combinare due o più condizioni/vincoli o per integrare la valutazione della condizione originaria in considerazione. Sono descritti di seguito:

  • AND logico: IL '&&' L'operatore restituisce vero quando entrambe le condizioni in considerazione sono soddisfatte. Altrimenti restituisce false. Per esempio, a&&b restituisce vero quando sia a che b sono veri (cioè diversi da zero).
  • OR logico: IL '||' L'operatore restituisce vero quando una (o entrambe) le condizioni in considerazione è soddisfatta. Altrimenti restituisce false. Per esempio, un || B restituisce vero se uno tra aob è vero (cioè diverso da zero). Naturalmente, restituisce vero quando sia a che b sono veri.
  • NON logico: IL '!' l'operatore restituisce vero la condizione in esame non è soddisfatta. Altrimenti restituisce false. Per esempio, !UN restituisce vero se a è falso, cioè quando a=0.

Esempio:

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

Produzione:

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

Operatori bit a bit

altrimenti esegui il loop in Java

In C# sono presenti 6 operatori bit a bit che funzionano a livello di bit o vengono utilizzati per eseguire operazioni bit per bit. Di seguito sono riportati gli operatori bit a bit:

  • & (AND bit a bit) Prende due numeri come operandi e fa AND su ogni bit di due numeri. Il risultato di AND è 1 solo se entrambi i bit sono 1.
  • | (OR bit a bit) Prende due numeri come operandi ed esegue OR su ogni bit di due numeri. Il risultato di OR è 1, ciascuno dei due bit è 1.
  • ^ (XOR bit a bit) Prende due numeri come operandi ed esegue XOR su ogni bit di due numeri. Il risultato di XOR è 1 se i due bit sono diversi.
  • ~ (Complemento bit a bit) Prende un numero come operando e inverte ogni bit da 1 a 0 e da 0 a 1.
  • << (shift a sinistra) Prende due numeri, sposta a sinistra i bit del primo operando, il secondo operando decide il numero di posizioni da spostare.
  • >> (shift a destra) Prende due numeri, sposta a destra i bit del primo operando, il secondo operando decide il numero di posizioni da spostare.

Esempio:

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

Produzione:

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

Operatori di assegnazione

Gli operatori di assegnazione vengono utilizzati per assegnare un valore a una variabile. L'operando del lato sinistro dell'operatore di assegnazione è una variabile e l'operando del lato destro dell'operatore di assegnazione è un valore. Il valore sul lato destro deve essere dello stesso tipo di dati della variabile sul lato sinistro altrimenti il ​​compilatore genererà un errore.

Di seguito sono mostrati diversi tipi di operatori di assegnazione:

  • =(Compito semplice) : Questo è l'operatore di assegnazione più semplice. Questo operatore viene utilizzato per assegnare il valore a destra alla variabile a sinistra.
    Esempio:
a = 10; b = 20; ch = 'y';>
  • +=(Aggiungi compito) : questo operatore è una combinazione degli operatori '+' e '='. Questo operatore prima aggiunge il valore corrente della variabile a sinistra al valore a destra e poi assegna il risultato alla variabile a sinistra.
    Esempio:
(a += b) can be written as (a = a + b)>

Se inizialmente il valore memorizzato in a è 5, allora (a += 6) = 11.

  • -=(Sottrai assegnazione) : Questo operatore è una combinazione degli operatori '-' e '='. Questo operatore prima sottrae il valore corrente della variabile a sinistra dal valore a destra e poi assegna il risultato alla variabile a sinistra.
    Esempio:
(a -= b) can be written as (a = a - b)>

Se inizialmente il valore memorizzato in a è 8, allora (a -= 6) = 2.

attraversamento degli ordini per corrispondenza dell'albero binario
  • *=(Moltiplica assegnazione) : questo operatore è una combinazione degli operatori '*' e '='. Questo operatore prima moltiplica il valore corrente della variabile a sinistra per il valore a destra e poi assegna il risultato alla variabile a sinistra.
    Esempio:
(a *= b) can be written as (a = a * b)>

Se inizialmente il valore memorizzato in a è 5, allora (a *= 6) = 30.

  • /=(Assegnazione divisione): Questo operatore è una combinazione degli operatori '/' e '='. Questo operatore prima divide il valore corrente della variabile a sinistra per il valore a destra e poi assegna il risultato alla variabile a sinistra.
    Esempio:
(a /= b) can be written as (a = a / b)>

Se inizialmente il valore memorizzato in a è 6, allora (a /= 2) = 3.

  • %=(Assegnazione modulo): Questo operatore è una combinazione degli operatori '%' e '='. Questo operatore prima modulo il valore corrente della variabile a sinistra per il valore a destra e poi assegna il risultato alla variabile a sinistra.
    Esempio:
(a %= b) can be written as (a = a % b)>

Se inizialmente il valore memorizzato in a è 6, allora (a %= 2) = 0.

  • <<=(Assegnazione turno sinistro) : Questo operatore è una combinazione degli operatori '<<' e '='. Questo operatore prima sposta a sinistra il valore corrente della variabile a sinistra del valore a destra e quindi assegna il risultato alla variabile a sinistra.
    Esempio:
(a <<= 2) can be written as (a = a << 2)>

Se inizialmente il valore memorizzato in a è 6, allora (a <<= 2) = 24.

  • >>=(Assegnazione spostamento a destra) : Questo operatore è una combinazione degli operatori '>>' e '='. Questo operatore prima sposta a destra il valore corrente della variabile a sinistra del valore a destra e quindi assegna il risultato alla variabile a sinistra.
    Esempio:
(a>>= 2) può essere scritto come (a = a>> 2)>

Se inizialmente il valore memorizzato in a è 6, allora (a>>= 2) = 1.

  • &=(Assegnazione AND bit a bit) : questo operatore è una combinazione degli operatori '&' e '='. Questo operatore esegue prima l'AND bit per bit del valore corrente della variabile a sinistra con il valore a destra e quindi assegna il risultato alla variabile a sinistra.
    Esempio:
(a &= 2) can be written as (a = a & 2)>

Se inizialmente il valore memorizzato in a è 6, allora (a &= 2) = 2.

  • ^=(OR esclusivo bit per bit) : Questo operatore è una combinazione degli operatori '^' e '='. Questo operatore prima esegue l'OR esclusivo bit per bit del valore corrente della variabile a sinistra con il valore a destra e quindi assegna il risultato alla variabile a sinistra.
    Esempio:
(a ^= 2) can be written as (a = a ^ 2)>

Se inizialmente il valore memorizzato in a è 6, allora (a ^= 2) = 4.

  • |=(OR incluso bit per bit) : questo operatore è una combinazione degli operatori '|' e '='. Questo operatore prima bitwise Inclusive OR il valore corrente della variabile a sinistra con il valore a destra e quindi assegna il risultato alla variabile a sinistra.
    Esempio :
(a |= 2) can be written as (a = a | 2)>

Se inizialmente, il valore memorizzato in a è 6. Allora (a |= 2) = 6.

Esempio:

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

Produzione :

alfabeto e numeri
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>

Operatore condizionale

È un operatore ternario che è una versione abbreviata dell'istruzione if-else. Ha tre operandi e da qui il nome ternario. Restituirà uno dei due valori a seconda del valore di un'espressione booleana.

Sintassi:

condition ? first_expression : second_expression;>

Spiegazione:
condizione: deve essere valutata come vera o falsa.
Se la condizione è vera
first_expression viene valutato e diventa il risultato.
Se la condizione è falsa,
second_expression viene valutato e diventa il risultato.

Esempio:

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>sì? x:y;     // Per visualizzare il risultato Console.WriteLine('Result: ' + result);    // Per trovare quale valore è maggiore // Utilizzando l'operatore condizionale result = x< y ? x : y;     // To display the result  Console.WriteLine('Result: ' + result);  } } }>

Produzione :

Result: 10 Result: 5>