Que son los Operadores en C#

Todos los lenguajes de programación poseen mecanismos para realizar operaciones sobre los datos y c# no es la excepción, por eso en esta entrada te explicare que son los operadores en c#.

según la MSDN un operador de programación es:

En C#, un operador es un elemento de programa que se aplica a uno o varios operandos en una expresión o instrucción. Los operadores que toman un operando, como el operador de incremento ++ o new, se conocen como operadores unarios. Los operadores que toman dos operandos, como los operadores aritméticos (+,-,*,/) se conocen como operadores binarios. Un operador, el operador condicional (?:), toma tres operandos y es el único operador ternario de C#.

En esta cita tenemos 2 palabras destacadas operadores y operandos

los operadores son los elementos que usaremos para realizar ciertas operaciones (comparación, sumas, resta, incrementos, etc.)

los operandos son los elementos sobres los cuales son aplicados los operadores (números, variables, etc.)

En este Post trataremos los siguientes tipos de operadores en c#

  • operadores aritméticos
  • operadores  de asignación
  • operadores lógicos
  • operadores  relacionales u operadores de comparación
  • operadores de incremento y decremento

Operadores Aritméticos

Son símbolos aritméticos básicos: suma (+), resta (-), multiplicación (*), división (/) y Modular(%) este ultimo es el residuo de una división entera.

Estos toman valores numéricos sean variables o valores literales como sus operando y dan como resultado un solo valor numérico, este resultado lo puedo almacenar en una variable si deseo utilizarlo mas adelante.

// esto es una suma da como resultado 13
int suma = 5 + 8; // se realiza la suma y se almacena en la variable
double division = 8/9;
long multiplicacion = 45 * 45; // long es tipo entero(int) pero soporta 
//cantidades mas grandes
int resta = 5-1;

el operador Modular(%) retorna el residuo de una división entera, es decir cuando dividimos dos números y hay una parte que no puede ser dividida por lo tanto esta parte sobra, en una división entera el resultado no tiene decimales.

int resultado;

int numero1 = 7;
int numero2 = 5;

resultado = numero1 % numero2; // el resultado sera 2, 
//porque 7 entre 5 es igual a 1, y sobran 2

numero1 = 18;
numero2 = 3;

resultado = numero1 % numero2; // el resultado sera 3, 
//porque 17 entre 3 es igual a 5, y sobran 3

el resultado de modular siempre sera la parte que no se puede dividir, seria el sobrante o residuo de la división


Operadores de Asignación

Los operadores de asignación se utilizan para asignar un nuevo valor a una variable, propiedad o evento.  El operando izquierdo de una asignación debe ser una variable, un acceso a propiedad, un acceso a indizador o un acceso a evento.

Este asigna el valor del operando de la derecha al operando de la izquierda.

int numero;
string nombre;

numero = 45; 
// se le asigna el valor 45(derecha) a la variable numero(izquierda)
nombre = "Jorge"; 
// se le asigna jorge a la variable nombre
numero = numero + 13; 
// se le suma 13 al valor contenido en numero (45)
//y luego se le asigna el resultado a numero

Existen sobrecargas del operador de asignación (=), estas acortan ciertas operaciones

int numero1 = 4;
int numero2 = 5;

numero1 += 5; // esto equivale a numero1 = numero1 + 5
numero1 -= numero2; // esto equivale a numero1 = numero1 - numero2
numero1 *= 2; //esto equivale a numero1 = numero1 - numero2
numero2 /= numero1; //esto equivale a numero1 = numero1  / numero2
numero1 %= 2; //esto equivale a numero1 = numero1 % numero2

Operadores relacionales

son símbolos usado para comparar dos valores, si la expresión evaluada es correcta, entonces estos operadores dan como resultado verdadero, en caso contrario falso

operadores-relacionales-operadores-de-comparacion

bool resultado;

resultado = 5 > 1; // esto da como resultado verdadero (true)
resultado = 5 <= 5; // esto da como resultado verdadero(true)
//debido a que aunque 5 no es menor que 5, pero si es igual a 5

String valor1 = "juan";
String valor2 = "pepe";

resultado = valor1 != valor2; // esto es verdadero, 
porque juan es diferente a pepe
resultado = "pepe" == valor2; // esto es como resultado verdadero, 
//ambos valores son iguales

resultado = valor1 == "Juan"; // esto es falso (false), debido a que juan y Juan
//son valores diferentes, C# distingue entre minusculas y mayusculas

Operadores lógicos

Estos trabajan usando la tabla de verdad,

El Operador &&(AND) que quiere decir «y» expresa que si ambas expresiones son verdaderas entonces el retorna el valor verdadero.

peradores-logicos-and

El operador || (OR) que quiere decir «o» expresa que al menos una de las dos expresiones debe ser verdadera y retornara verdadero

operador-logico-or

El operador !(NOT) quiere decir «no» o «negación», cambia el valor al su inverso, es decir si es verdadero, el resultado cambiara a falso, y viceversa

operador-not

Ahora bien, como utilizamos esto en programación?, la respuesta es simple, podemos combinar los operadores relacionales con los lógicos.

int n1 = 78;
int n2 = 90;
int n3 = 9;

bool resultado;

resultado = n1 <  n2 && n2 > n3;
//en este caso el resultado es verdadero
//debido a que n1 < n2 es verdadero
//y n2> n3 tambien es verdadero
//aplicamos el operador &&  ( leer operador &&)

resultado = n1 != 70 || n3> 10;
//en este caso el resultado es verdadero
//debido a que n1 != 70 es verdadero
//n3 > 10 es falso , pero el operador OR solo necesita uno verdadero
//aplicamos el operador || ( leer operador ||)

resultado = true;
resultado = !resultado;
//en este caso el resultado es falso
//debido a que la variable resultado contiene el valor true(verdadero)
//pero aplicando el operador  de negacion NOT(!), hemos invertido el valor

//en este caso usamos el if para aprovechar los operadores
if(n1>10){
 Console.WriteLine("Es Mayor");//por consola
MessageBox.Show("Es mayor");//Por ventana
}

Tanto los operadores relacionales y los lógicos son utilizados por las estructuras de control de flujo (if, while, for), en el próximo post las trataremos.


Operador de incremento

Estos operadores incrementan y reducen el valor de una variable en 1.

el operador de incremento es «++», y se aplica a la variable que se quiere incrementar.

int contador = 0;

contador++; //aqui la variable incremento en 1 su valor y vale 1
contador++; //aqui la variable incremento en 1 su valor y vale 2
contador++; //aqui la variable incremento en 1 su valor y vale 3
contador++; //aqui la variable incremento en 1 su valor y vale 4
contador++; //aqui la variable incremento en 1 su valor y vale 5
contador++; //aqui la variable incremento en 1 su valor y vale 6
contador++; //aqui la variable incremento en 1 su valor y vale 7
contador++; //aqui la variable incremento en 1 su valor y vale 8
contador++; //aqui la variable incremento en 1 su valor y vale 9
contador++; //aqui la variable incremento en 1 su valor y vale 10

el operador decremento es «–» y se aplica a la variable que se quiere reducir.

int contador = 10;

contador--; //aqui la variable incremento en 1 su valor y vale 9
contador--; //aqui la variable incremento en 1 su valor y vale 8
contador--; //aqui la variable incremento en 1 su valor y vale 7
contador--; //aqui la variable incremento en 1 su valor y vale 6
contador--; //aqui la variable incremento en 1 su valor y vale 5
contador--; //aqui la variable incremento en 1 su valor y vale 4
contador--; //aqui la variable incremento en 1 su valor y vale 3
contador--; //aqui la variable incremento en 1 su valor y vale 2
contador--; //aqui la variable incremento en 1 su valor y vale 1
contador--; //aqui la variable incremento en 1 su valor y vale 0

Hasta aquí esta explicación sobre que son los operadores en c#.

Espero que este post te sea útil, y no te olvides de compartir 🙂

Referencias MSDN

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.