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à :
- Operatori aritmetici
- Operatori relazionali
- Operatori logici
- Operatori bit a bit
- Operatori di assegnazione
- Operatore condizionale
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>