Personas que lo han encontrado útil: 6 de 6 - Valorar este tema

Operadores (Visual C# Express)

Visual Studio 2008

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#.

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");
}



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


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);


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");
}


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");
}


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);


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());
    }
}


¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar