Compartir a través de


Operadores (Visual C# Express)

Actualización: noviembre 2007

En C#, los operadores tienen una sintaxis similar a otros lenguajes de programación de estilo C. Los operadores se utilizan para hacer cálculos, asignar valores a variables, comprobar la igualdad o desigualdad, y realizar otras operaciones.

En las secciones siguientes se muestran algunos de los operadores normalmente utilizados en C#. Para obtener una lista de todos los operadores, vea Operadores de C#.

Operadores de asignación e igualdad

En C#, el operador signo igual (=) tiene la misma funcionalidad que en C y C++:

Operador

Finalidad

=

Asigna un valor.

==

Comprueba la igualdad.

Ejemplo

int x = 100;
if (x == 100)
{
    System.Console.WriteLine("X is equal to 100");
}

Operadores matemáticos y lógicos

La siguiente lista muestra los operadores matemáticos básicos en orden de prioridad. Utilice paréntesis para imponer otro orden.

Operador

Finalidad

*, /, %

Multiplicación, división, módulos

+, -

Suma, resta

&

AND lógico

^

XOR lógico

|

OR lógico

Ejemplo

int x = 1;
int y = x + 10 * 100;      // multiplication first y = 1001
int z = (x + 10) * 100;    // addition first       z = 1100

Operadores de incremento y decremento

Los accesos directos de estilo de C y C++ son compatibles, incluso los operadores de postfijo y prefijo, como se muestra en estos ejemplos:

Operador

Finalidad

v++

Incrementar variable v por 1.

v+=n

Incrementar variable v por n.

v*=n

Multiplicar variable v por n.

v-=n

Restar n de variable v.

Ejemplo

int x = 0;

int y = x++;    // x is 1, y is 0

System.Console.WriteLine("{0} {1}", x, y);

int z = ++x;    // x is 2, z is 2

System.Console.WriteLine("{0} {1}", x, z);

Operadores relacionales

Los siguientes operadores comparan dos valores y devuelven un resultado booleano:

Operador

Finalidad

==

Comprobar igualdad.

!=

Comprobar desigualdad.

>

Mayor que

<

Menor que

>=

Mayor o igual que

<=

Menor o igual que

Ejemplo

int x = int.Parse(System.Console.ReadLine());

if (x > 100)
{
    System.Console.WriteLine("X is greater than 100");
}

Operadores lógicos de condición

Los operadores lógicos se utilizan para crear instrucciones de condición más flexibles combinando varias cláusulas:

Operador

Finalidad

&&

AND condicional.

||

OR condicional.

!

NOT condicional.

Ejemplo

int x = int.Parse(System.Console.ReadLine());

if ((x >= 100) && (x <= 200))
{
    System.Console.WriteLine("X is between 100 and 200");
}

Operadores matemáticos más avanzados

Para realizar operaciones matemáticas más avanzadas, por ejemplo, trigonométricas, utilice la clase Math de .NET Framework. En este ejemplo, se utilizan los métodos Sin (seno) y Sqrt (raíz cuadrada) y la constante PI:

Ejemplo

double d = System.Math.Sin(System.Math.PI/2);
double e = System.Math.Sqrt(144);

Sobrecarga de operadores

C# admite sobrecarga de operadores; esto permite volver a definir los operadores para que tengan más sentido cuando se utilizan con tipos de datos propios. En el siguiente ejemplo, se crea una estructura que almacena un solo día de la semana en un tipo de variable definido por una enumeración. Para obtener más información, vea Estructuras (Visual C# Express) y Enumeraciones (Visual C# Express). El operador de suma se sobrecarga para que se pueda agregar un número entero de días al día actual y devolver un nuevo día de la semana. De este modo, domingo, con un día agregado, devuelve lunes.

Ejemplo

using System;

// Define an DayOfWeek data type
enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

// Define a struct to store the methods and operators
struct Day 
{
    private DayOfWeek day;

    // The constructor for the struct
    public Day(DayOfWeek initialDay)
    {
        day = initialDay;
    }

    // The overloaded + operator
    public static Day operator +(Day lhs, int rhs)
    {
        int intDay = (int)lhs.day;
        return new Day((DayOfWeek)((intDay + rhs) % 7));
    }

    // An overloaded ToString method
    public override string ToString()
    {
        return day.ToString();
    }
}

public class Program
{
    static void Main()
    {
        // Create a new Days object called "today"
        Day today = new Day(DayOfWeek.Sunday);
        Console.WriteLine(today.ToString());

        today = today + 1;
        Console.WriteLine(today.ToString());

        today = today + 14;
        Console.WriteLine(today.ToString());
    }
}

Vea también

Conceptos

Manual del lenguaje C#

Referencia

Operadores de C#