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