Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

operadores de C#

C# proporciona un amplio conjunto de operadores, que son símbolos que especifican las operaciones que se deben realizar en una expresión. Operaciones con tipos enteros como ==, !=, <, >, <=, >=, binary +, binary -, ^, &, | , ~, ++, -- y sizeof() son generalmente permitidas en enumeraciones. Además, el usuario puede sobrecargar muchos de los operadores, es decir, cambiar su significado al aplicarlos a un tipo definido por el usuario.

En la tabla siguiente se muestran los operadores de C# agrupados por orden de prioridad. Los operadores dentro de cada de grupo tienen la misma prioridad.

Los operadores aritméticos (+, -, *, /) pueden producir resultados fuera del intervalo de valores posibles para el tipo numérico implicado. Aunque para encontrar información detallada, debe consultar la sección acerca del operador específico; en general, podemos decir:

  • El desbordamiento aritmético de enteros produce una excepción de desbordamiento (OverflowException) o bien descarta los bits más significativos del resultado. La división de enteros por cero siempre produce una excepción DivideByZeroException.

  • El desbordamiento aritmético o la división por cero en punto flotante no producen una excepción, ya que los tipos de punto flotante se basan en el estándar IEEE 754, que proporciona una representación para los valores infinito y NaN (Not a Number, no es un número).

  • El desbordamiento aritmético de valores de tipo decimal siempre produce una excepción OverflowException. La división de decimales por cero siempre produce una excepción DivideByZeroException.

Cuando se produce un desbordamiento de enteros, lo que ocurre depende del contexto de la ejecución, el cual puede ser checked o unchecked. En un contexto checked (comprobado), se produce una excepción OverflowException. En un contexto unchecked (no comprobado), se descartan los bits más significativos del resultado y la ejecución continúa. De esta forma, C# permite elegir entre atender o desatender el desbordamiento.

Además de los operadores aritméticos, las conversiones entre tipos integrales también pueden producir desbordamiento; por ejemplo, al convertir un tipo long en un tipo int, y están sometidas al tipo de ejecución checked o unchecked. Sin embargo, los operadores bit a bit y los operadores de desplazamiento nunca producen desbordamiento.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft