C# | Operadores – Part 3

Los operadores son la base de cualquier lenguaje de programación. Por lo tanto, la funcionalidad del lenguaje C# está incompleta sin el uso de operadores. Los operadores nos permiten realizar diferentes tipos de operaciones en los operandos . En C# , los operadores se pueden clasificar en función de sus diferentes funciones :

En C#, los operadores también pueden categorizarse según el número de operandos: 

  • Operador unario: Operador que toma un operando para realizar la operación.
  • Operador Binario: Operador que toma dos operandos para realizar la operación.
  • Operador Ternario: Operador que toma tres operandos para realizar la operación.
     

Operadores aritméticos

Estos se utilizan para realizar operaciones aritméticas/matemáticas en operandos. Los operadores binarios que caen en esta categoría son:

  • Adición: el operador ‘+’ suma dos operandos. Por ejemplo, x+y .
  • Resta: el operador ‘-‘ resta dos operandos. Por ejemplo, xy .
  • Multiplicación: El operador ‘*’ multiplica dos operandos. Por ejemplo, x*y .
  • División: El operador ‘/’ divide el primer operando por el segundo. Por ejemplo, x/y .
  • Módulo: el operador ‘%’ devuelve el resto cuando el primer operando se divide por el segundo. Por ejemplo, x%y .

Ejemplo:

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

Producción:

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

Los que caen en la categoría de Operadores Unarios son:

  • Incremento: el operador ‘++’ se utiliza para incrementar el valor de un número entero. Cuando se coloca antes del nombre de la variable (también llamado operador de preincremento ), su valor se incrementa instantáneamente. Por ejemplo, ++x
    Y cuando se coloca después del nombre de la variable (también llamado operador de incremento posterior ), su valor se conserva temporalmente hasta la ejecución de esta instrucción y se actualiza antes de la ejecución de la siguiente instrucción. Por ejemplo, x++ .
  • Decremento: El operador ‘–’ se utiliza para disminuir el valor de un número entero. Cuando se coloca antes del nombre de la variable (también llamado operador de decremento previo ), su valor se decrementa instantáneamente. Por ejemplo, –x .
    Y cuando se coloca después del nombre de la variable (también llamado operador posterior al decremento ), su valor se conserva temporalmente hasta la ejecución de esta instrucción y se actualiza antes de la ejecución de la siguiente instrucción. Por ejemplo, x- .

Ejemplo:

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

Producción:

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

Operadores relacionales

Los operadores relacionales se utilizan para comparar dos valores. Vamos a verlos uno por uno:

  • El operador ‘=='(Igual a) comprueba si los dos operandos dados son iguales o no. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5==5 devolverá verdadero.
  • El operador ‘!='(No es igual a) comprueba si los dos operandos dados son iguales o no. Si no, devuelve verdadero. De lo contrario devuelve falso. Es el complemento booleano exacto del operador ‘==’ . Por ejemplo, 5!=5 devolverá falso.
  • El operador ‘>'(Mayor que) comprueba si el primer operando es mayor que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 6>5 devolverá verdadero.
  • El operador ‘<‘(menor que) comprueba si el primer operando es menor que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 6<5 devolverá falso.
  • El operador ‘>='(Mayor que igual a) comprueba si el primer operando es mayor o igual que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5>=5 devolverá verdadero.
  • El operador ‘<='(menor que igual a) comprueba si el primer operando es menor o igual que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5<=5 también devolverá verdadero.

Ejemplo:

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: " + result);
         
        // Less than Operator
        result = (x < y);
        Console.WriteLine("Less than Operator: " + result);
         
        // Greater than Equal to Operator
        result = (x >= y);
        Console.WriteLine("Greater than or Equal to: "+ result);
         
        // Less than Equal to Operator
        result = (x <= y);
        Console.WriteLine("Lesser than or Equal to: "+ result);
         
        // Not Equal To Operator
        result = (x != y);
        Console.WriteLine("Not Equal to Operator: " + result);
    }
}
}

Producción:

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

Operadores logicos

Se utilizan para combinar dos o más condiciones/restricciones o para complementar la evaluación de la condición original en consideración. Se describen a continuación:

  • Y lógico: el operador ‘&&’ devuelve verdadero cuando se cumplen las dos condiciones consideradas. De lo contrario devuelve falso. Por ejemplo, a && b devuelve verdadero cuando tanto a como b son verdaderos (es decir, distintos de cero).
  • OR lógico: el ‘||’ El operador devuelve verdadero cuando se cumple una (o ambas) de las condiciones en consideración. De lo contrario devuelve falso. Por ejemplo, un || b devuelve verdadero si uno de a o b es verdadero (es decir, distinto de cero). Por supuesto, devuelve verdadero cuando tanto a como b son verdaderos.
  • NO Lógico: El ‘!’ operador devuelve verdadero la condición en consideración no se cumple. De lo contrario devuelve falso. Por ejemplo, !a devuelve verdadero si a es falso, es decir, cuando a=0.

Ejemplo:

C#

// C# program to demonstrate the working
// of Logical Operators
using System;
namespace Logical {
     
class GFG {
     
    // Main Function
    static void Main(string[] args)
    {
            bool a = true,b = false, result;
         
            // AND operator
            result = a && b;
            Console.WriteLine("AND Operator: " + result);
             
            // OR operator
            result = a || b;
            Console.WriteLine("OR Operator: " + result);
             
            // NOT operator
            result = !a;
            Console.WriteLine("NOT Operator: " + result);
         
    }
}
}

Producción:

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

Operadores bit a bit

En C#, hay 6 operadores bit a bit que funcionan a nivel de bit o se utilizan para realizar operaciones bit a bit. Los siguientes son los operadores bit a bit:

  • & (Y bit a bit) Toma dos números como operandos y hace AND en cada bit de dos números. El resultado de AND es 1 solo si ambos bits son 1.
  • | (OR bit a bit) Toma dos números como operandos y hace OR en cada bit de dos números. El resultado de OR es 1 cualquiera de los dos bits es 1.
  • ^ (XOR bit a bit) Toma dos números como operandos y hace XOR en cada bit de dos números. El resultado de XOR es 1 si los dos bits son diferentes.
  • << (desplazamiento a la izquierda) Toma dos números, desplaza a la izquierda los bits del primer operando, el segundo operando decide el número de lugares a desplazar.
  • >> (desplazamiento a la derecha) Toma dos números, desplaza a la derecha los bits del primer operando, el segundo operando decide el número de lugares a desplazar.

Ejemplo:

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 | y;
            Console.WriteLine("Bitwise OR: " + result);
             
            // Bitwise XOR Operator
            result = x ^ y;
            Console.WriteLine("Bitwise XOR: " + result);
             
            // Bitwise AND Operator
            result = ~x;
            Console.WriteLine("Bitwise Complement: " + result);
             
            // Bitwise LEFT SHIFT Operator
            result = x << 2;
            Console.WriteLine("Bitwise Left Shift: " + result);
             
            // Bitwise RIGHT SHIFT Operator
            result = x >> 2;
            Console.WriteLine("Bitwise Right Shift: " + result);
         
    }
}
}

Producción:

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

Operadores de Asignación

Los operadores de asignación se utilizan para asignar un valor a una variable. El operando del lado izquierdo del operador de asignación es una variable y el operando del lado derecho del operador de asignación es un valor. El valor del lado derecho debe ser del mismo tipo de datos que la variable del lado izquierdo; de lo contrario, el compilador generará un error.

A continuación se muestran diferentes tipos de operadores de asignación:

  • “=”(Asignación Simple) : Este es el operador de asignación más simple. Este operador se utiliza para asignar el valor de la derecha a la variable de la izquierda.
    Ejemplo:
a = 10;
b = 20;
ch = 'y';
  • “+=”(Agregar asignación) : este operador es una combinación de los operadores ‘+’ y ‘=’. Este operador primero suma el valor actual de la variable de la izquierda al valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a += b) can be written as (a = a + b)

Si inicialmente el valor almacenado en a es 5. Entonces (a += 6) = 11.

  • “-=”(Restar asignación) : este operador es una combinación de los operadores ‘-‘ y ‘=’. Este operador primero resta el valor actual de la variable de la izquierda del valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a -= b) can be written as (a = a - b)

Si inicialmente el valor almacenado en a es 8. Entonces (a -= 6) = 2.

  • “*=”(Multiplicar asignación) : este operador es una combinación de los operadores ‘*’ y ‘=’. Este operador primero multiplica el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a *= b) can be written as (a = a * b)

Si inicialmente el valor almacenado en a es 5. Entonces (a *= 6) = 30.

  • “/=”(asignación de división): este operador es una combinación de los operadores ‘/’ y ‘=’. Este operador primero divide el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a /= b) can be written as (a = a / b)

Si inicialmente el valor almacenado en a es 6. Entonces (a /= 2) = 3.

  • “%=”(Asignación de módulo): Este operador es una combinación de los operadores ‘%’ y ‘=’. Este operador primero modula el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a %= b) can be written as (a = a % b)

Si inicialmente el valor almacenado en a es 6. Entonces (a %= 2) = 0.

  • “<<=”(Asignación de desplazamiento a la izquierda) : este operador es una combinación de los operadores ‘<<‘ y ‘=’. Este operador primero desplaza a la izquierda el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a <<= 2) can be written as (a = a << 2)

Si inicialmente el valor almacenado en a es 6. Entonces (a <<= 2) = 24.

  • “>>=”(Asignación de desplazamiento a la derecha) : este operador es una combinación de los operadores ‘>>’ y ‘=’. Este operador primero desplaza a la derecha el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a >>= 2) can be written as (a = a >> 2)

Si inicialmente el valor almacenado en a es 6. Entonces (a >>= 2) = 1.

  • “&=”(Asignación AND bit a bit) : Este operador es una combinación de los operadores ‘&’ y ‘=’. Este operador primero «Y bit a bit» el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a &= 2) can be written as (a = a & 2)

Si inicialmente el valor almacenado en a es 6, entonces (a &= 2) = 2.

  • “^=”(O exclusivo bit a bit) : este operador es una combinación de los operadores ‘^’ y ‘=’. Este operador primero «OR exclusivo bit a bit» el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo:
(a ^= 2) can be written as (a = a ^ 2)

Si inicialmente el valor almacenado en a es 6. Entonces (a ^= 2) = 4.

  • “|=”(Bitwise Inclusive OR) : Este operador es una combinación de ‘|’ y operadores ‘=’. Este operador primero «O bit a bit inclusivo» el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda.
    Ejemplo :
(a |= 2) can be written as (a = a | 2)

Si inicialmente, el valor almacenado en a es 6. Entonces (a |= 2) = 6.

Ejemplo:

C#

// C# program to demonstrate the working
// of Assignment Operators
using System;
namespace Assignment {
     
class GFG {
     
    // Main Function
    static void Main(string[] args)
    {
         
            // initialize variable x
            // using Simple Assignment
            // Operator "="
            int x = 15;
             
            // it means x = x + 10
            x += 10;
            Console.WriteLine("Add Assignment Operator: " + x);
             
             // initialize variable x again
            x = 20;
             
            // it means x = x - 5
            x -= 5;
            Console.WriteLine("Subtract Assignment Operator: " + x);
             
            // initialize variable x again
            x = 15;
             
            // it means x = x * 5
            x *= 5;
            Console.WriteLine("Multiply Assignment Operator: " + x);
             
            // initialize variable x again
            x = 25;
             
            // it means x = x / 5
            x /= 5;
            Console.WriteLine("Division Assignment Operator: " + x);
             
            // initialize variable x again
            x = 25;
             
            // it means x = x % 5
            x %= 5;
            Console.WriteLine("Modulo Assignment Operator: " + x);
             
            // initialize variable x again
            x = 8;
             
            // it means x = x << 2
            x <<= 2;
            Console.WriteLine("Left Shift Assignment Operator: " + x);
             
            // initialize variable x again
            x = 8;
             
            // it means x = x >> 2
            x >>= 2;
            Console.WriteLine("Right Shift Assignment Operator: " + x);
             
            // initialize variable x again
            x = 12;
             
            // it means x = x >> 4
            x &= 4;
            Console.WriteLine("Bitwise AND Assignment Operator: " + x);
             
            // initialize variable x again
            x = 12;
             
            // it means x = x >> 4
            x ^= 4;
            Console.WriteLine("Bitwise Exclusive OR Assignment Operator: " + x);
             
             // initialize variable x again
            x = 12;
             
            // it means x = x >> 4
            x |= 4;
            Console.WriteLine("Bitwise Inclusive OR Assignment Operator: " + x);
         
    }
}
}

Producción :

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

Operador Condicional

Es un operador ternario que es una versión abreviada de la declaración if-else. Tiene tres operandos y de ahí el nombre ternario. Devolverá uno de dos valores dependiendo del valor de una expresión booleana. 

Sintaxis:

condition ? first_expression : second_expression;

Explicación:
condición: Debe evaluarse como verdadero o falso.
Si la condición es verdadera
, se evalúa first_expression y se convierte en el resultado. 
Si la condición es falsa, 
se evalúa second_expression y se convierte en el resultado. 

Ejemplo:

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;
             
            // To display the result
            Console.WriteLine("Result: " + result);
             
            // To find which value is greater
            // Using Conditional Operator
            result = x < y ? x : y;
             
            // To display the result
            Console.WriteLine("Result: " + result);
    }
}
}

Producción :

Result: 10
Result: 5

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *