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
++
onew
, 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
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.
El operador || (OR) que quiere decir «o» expresa que al menos una de las dos expresiones debe ser verdadera y retornara verdadero
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
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