DE .NET, SQLSERVER Y MÁS, APRENDE CONMIGO!✔

Desarrollo de todo tipo de aplicaciones y Administración de Base de datos con Tecnología Microsoft


UNETE

Operadores en C#

0

 

Operadores

Los operadores son símbolos que permiten realizar operaciones con uno o más datos, para dar un resultado. El ejemplo clásico y obvio de operador es el símbolo de la suma (+), aunque hay otros muchos.

Vamos a hacer un repaso a los tipos de operadores que tenemos en C#:

  • Operadores Aritméticos: Son la suma (+), resta (-), producto (*), división (/) y módulo (%)
  • Operadores Lógicos: Son "and" (&& y &), "or" (|| y |), "not" (!) y "xor" (^)

La diferencia entre && y &, y entre || y | es que && y || hacen lo que se llama "evaluación perezosa": si evaluando sólo la primera parte de la operacion se puede deducir el resultado, la parte derecha no se evaluará. Es decir, si tenemos por ejemplo:

     false && (otra cosa)

El resultado de esta operación siempre será false, y (otra cosa) ni siquiera se evalúa. De igual forma, si tenemos

     true || (otra cosa)

el resultado será true, y la parte derecha nunca se evaluará.

Operadores relacionales: igualdad (==), desigualdad (!=), "mayor que" (>), "menor que" (<), "mayor o igual que" (>=) y "menor o igual que" (<=)

Operadores de Manipulación de Bits: Tenemos las siguientes operaciones: and (&), or (|), not (~), xor (^), desplazamiento a la izquierda (<<), y desplazamiento a la derecha (>>). El desplazamiento a la izquierda rellena con ceros. El desplazamiento a la derecha, si se trata de un dato con signo, mantiene el signo. Si no, rellena con ceros.

Operadores de Asignación: El operador básico de asignación es =. Además, tenemos las clásicas abreviaturas +=, -=, *=, /=, &=, |=, ^=, <<= y >>=

Estas abreviaturas se usan para evitar tecleo en operaciones como esta:

     variable1 = variable1 + variable2;

Se puede escribir de esta forma abreviada:

     variable1 += variable2;

También tenemos operadores de incremento (++) y decremento (--), que incrementan en una unidad el valor de la variable sobre la que se aplican. Por tanto, estas tres líneas de código son casi iguales:

     variable1 = variable1 + 1;
     variable1 += 1;
     variable1++;

El "casi iguales" lo ponemos porque en muchas máquinas, el operador ++ es más rápido que la operación "+ 1", ya que el compilador lo traduce a una única instrucción máquina.

Hay que tener en cuenta que no es lo mismo poner variable++ que ++variable. Ambas formas son correctas, pero no significan lo mismo. Lo vemos con un ejemplo:

     variable1 = ++variable2;
     variable1 = variable2++;

En el primer caso, primero se incrementa variable2 y luego se hace la asignación. En el segundo caso primero se hace la asignación, y luego el incremento.

Operador Condicional: Es el único operador de C# que tiene tres operandos. Su sintaxis es esta:

·              <condición> ? <expresión1> : <expresión2>

Quiere decir que si la condición es true, se evalúa expresión1, y si es falsa, se evalúa expresión2. 
Ojo:
 No confundir con un "if". Este operador devuelve un valor, mientras que el if es sólamente una instrucción.

Operadores de Acceso a Objetos: El operador para acceder a los miembros de un objeto es el punto. Así esta expresión:

·              A.metodo1 ();

nos permite acceder al método "metodo1" del objeto A.

Operadores de Punteros: Tenemos varios operadores. Para acceder a la dirección de memoria a la que apunta el puntero, lo hacemos con &puntero. Para acceder al contenido de la dirección de memoria, tenemos *puntero. Si lo que referencia el puntero es un objeto, podemos acceder a sus miembros con puntero->miembro.

Operadores de Obtención de Información sobre Tipos: Para averiguar el tipo de una variable, usamos el operador sizeof(variable). Nos devolverá un objeto de tipo System.Type. Si queremos hacer una comparación, usamos algo como esto:

·              (expresion) is TIPO

que, como es lógico, nos devolverá un true o un false.

Operadores de Conversión: Para convertir el tipo de un objeto en otro, precedemos el objeto que queremos cambiar con el tipo al que queremos convertir, entre paréntesis, de esta forma:

·              variable1 = (int) variable2;

De esta forma, variable2 será tratada como si fuera un dato de tipo int, aunque no lo sea.

Veamos un ejemplo del uso de los operadores unarios:

using System;
 
class Operadores1 {
    public static void Main() {
        int unario = 0;
        int preIncremento;
        int preDecremento;
        int postIncremento;
        int postDecremento;
        sbyte bitNot;
        bool logNot;
 
        preIncremento = ++unario;
        Console.WriteLine("Pre-Incremento: {0}", preIncremento);
 
        preDecremento = --unario;
        Console.WriteLine("Pre-Decremento: {0}", preDecremento);
 
        postDecremento = unario--;
        Console.WriteLine("Post-Decremento: {0}", postDecremento);
 
        postIncremento = unario++;
        Console.WriteLine("Post-Incremento: {0}", postIncremento);
 
        Console.WriteLine("Valor final de unario: {0}", unario);
 
        bitNot = 0;
        bitNot = (sbyte)(~bitNot);
        Console.WriteLine("Negación a nivel de bit: {0}", bitNot);
 
        logNot = false;
        logNot = !logNot;
        Console.WriteLine("Negación lógica: {0}", logNot);
    }
} 

Otro ejemplo, ahora del uso de operadores binarios:

using System;
 
class Operadores2 {
    public static void Main() {
        int x,y,resultado;
 
        x = 7;
        y = 5;
 
        resultado = x + y;
        Console.WriteLine(" x+y = {0}", resultado);
 
        resultado = x - y;
        Console.WriteLine(" x-y = {0}", resultado);
 
        resultado = x * y;
        Console.WriteLine(" x*y = {0}", resultado);
 
        resultado = x / y;
        Console.WriteLine(" x/y = {0}", resultado);
    }
} 
 

Hasta ahora hemos visto programas muy simples con una serie de pasos secuenciales. En ellos no se comprueban valores para tomar decisiones, en función de las entradas, por ejemplo.

En esta sección vamos a estudiar las estructuras de control de C#, tanto las condicionales como los bucles. 

DEMOSTRACIÓN

Pasaremos en una aplicación de consola a colocar el siguiente código



Al levantar la solución fijese que solo se ejecuta la acción a partir de los Operadores






Tal vez te interesen estas entradas

No hay comentarios