Saltar al contenido

Tipos de operadores en C#.

Para utilizar variables y constantes en programación, debemos conocer los diferentes tipos de operadores en C#. Este tipo de operadores también son los que utilizamos en otros lenguajes. Por ejemplo en java.

Lógicos.

Sirven para comparar dos o más condiciones. De esta forma, podemos comprobar si se cumplen dos o más condiciones.

operadores logicos
operadores lógicos en C#

Ejemplo de operadores lógicos en C#.

using System;

namespace EjemplosCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = 5;
            int num2=10;

            if(num1==5 || num2 == 10)
            {
                Console.WriteLine("La condición es cierta.");
            }
            else
            {
                Console.WriteLine("La condición no se cumple.");
            }

            Console.ReadKey(); // Paramos la consola
        }
    }
}

De incremento y decremento.

Estos operadores incrementan o decrementan en un valor concreto las variables numéricas de tipo entero o decimal.

operadores en programación
operadores de incremento y decremento en C#.

Ejemplo de operadores de incremento y decremento en C#.

En este caso, vamos a ver dos ejemplos. En el primero, vamos a incrementar una variable num1, en una unidad y lo haremos de la siguiente manera.

using System;

namespace EjemplosCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = 5;
            num1++; // Aumentamos la variable num1 en 1
            
            // Mostramos el resultado.
            Console.WriteLine("El resultado es " + num1);

            num1--; // Disminuimos la variable num1 en 1

            // almacenamos en num2
            Console.WriteLine("El resultado es " + num1);

            Console.ReadKey(); // Paramos la consola
        }
    }
}

En este caso, el resultado que nos muestra el programa, es el correcto. Nos muestra 6 en el primer caso y 5 en el segundo.

Vamos a ver otro segundo ejemplo eliminando las líneas de código 10 y 15. El código quedará de la siguiente manera.

using System;

namespace EjemplosCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = 5;
            
            // Aumentamos la variable y mostramos el resultado.
            Console.WriteLine("El resultado es " + num1++);
                        
            // Disminuimos la variable y mostramos el resultado.
            Console.WriteLine("El resultado es " + num1--);

            Console.ReadKey(); // Paramos la consola
        }
    }
}

En este segundo caso, la variable num1 mostrará 5 en el primer caso y 6 en el segundo. Esto quiere decir que, la variable num1 en el primer caso se ha quedado con el valor original. Sin embargo, en el segundo caso, a la hora de disminuir la variable, en lugar de mostrar un 4, se muestra un 6.

¿Por qué ocurre esto?

En este segundo caso, no ocurre lo que esperábamos, debido al fluje de ejecución del programa.

En primer lugar, se ejecuta de arriba hacia abajo. Por lo tanto:

  • En la primera línea del programa la variable num1 tiene asignado un valor de 5.
  • En la segunda linea el programa empieza a ejecutarse por la izquierda, por lo tanto el programa escribirá «El resultado es».
  • A continuación, existe un signo más, es decir, que va a concatenar el valor de la variable siguiente que es num1.
  • Y por último, esa variable num1, se incrementa en uno.

Continuamos explicando la siguiente línea de código. A la hora de disminuir la variable num1:

  • El programa continúa escribiendo «El resultado es».
  • A continuación, existe un signo más, es decir, que va a concatenar el valor de la variable siguiente que es num1. Esto como en el caso anterior. Sin embargo, la variable num1 ahora vale 6, por tanto, escribirá un 6.
  • Finalmente, disminuye la variable en una unidad y la variable num1 valdrá 5.
  • Al final del programa, la instrucción Console.ReadKey(); para la consola de comandos.

¿Cúal sería entonces el código correcto?

La solución en este caso, pasa por utilizar los operadores de incremento y decremento como prefijos de la variable num1. De la siguiente manera.

using System;

namespace EjemplosCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = 5;
            
            // Mostramos el resultado.
            Console.WriteLine("El resultado es " + ++num1);
                        
            // almacenamos en num2
            Console.WriteLine("El resultado es " + --num1);

            Console.ReadKey(); // Paramos la consola
        }
    }
}

Aritméticos.

Los tipos de operadores aritméticos también son muy importantes. Estos operadores permiten realizar operaciones aritméticas con variables numéricas.

Tipòs de operadores en C#. Operqadores aritmeticos
operadores aritméticos en C#.

Ejemplo de operadores aritméticos.

using System;

namespace EjemplosCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            double num1 = 5;
            double num2 = 10;
            double resultado;

            // sumamos las dos variables
            resultado = num1 + num2;
            Console.WriteLine("El resultado es " + resultado);

            // restamos las dos variables
            resultado = num2 - num1;
            Console.WriteLine("El resultado es " + resultado);

            // multiplicamos las dos variables
            resultado = num1 * num2;
            Console.WriteLine("El resultado es " + resultado);

            // dividimos las dos variables
            resultado = num2 / num1;
            Console.WriteLine("El resultado es " + resultado);

            // Obtenemos el resto de la division las dos variables
            resultado = num2 % num1;
            Console.WriteLine("El resultado es " + resultado);

            Console.ReadKey(); // Paramos la consola
        }
    }
}

Relacionales.

Con estos operadores realizaremos operaciones de comparación. Bien sea comparación de variables numéricas, longitud de cadenas de texto, etc.

Tipòs de operadores en C#. Operadores relacionales y de comparacion
Tipos de operadores en C#. Relacionales.

Ejemplo de operadores relacionales en C#.

using System;

namespace EjemplosCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = 5;
            int num2 = 10;

            // Si el número de la variable num1 es mayor
            // que el número que contiene la variable num2
            if(num1 > num2){
                // Se mostrará este mensaje
                Console.WriteLine("El número " + num1 
                    + " es mayor que el número " + num2);
            }
            else // en caso contrario
            {
                // Se mostrará este otro
                Console.WriteLine("El número " + num1 
                    + " es menor que el número " + num2);
            }
            Console.ReadKey();
        }
    }
}

MÁS INFORMACIÓN