Operadores

En la siguiente tabla se enumeran todos los operadores de idioma del usuario en orden de prioridad; unario tiene la prioridad más alta, coma la más baja:

Unario ! ~ + - ++ --
Multiplicador * / %
Aditiva + -
Desplazamiento << >>
Relacional < <= > >=
Igualdad == !=
AND bit a bit &
XOR bit a bit ^
OR bit a bit `
AND lógico &&
OR lógico `
Condicional ?:
Asignación = *= /= %= += -= &= ^=
Coma ,

La asociatividad se establece de izquierda a derecha para todos los operadores, excepto para unario, condicional y asignación, que son asociativas de derecha a izquierda.

La procedencia normal del operador se puede modificar con paréntesis.

Operadores bit a bit

Los operadores bit a bit solo funcionan con tipos de datos de carácter y enteros.

Unario:

~ Complemento bit a bit (1)

Binario:

<< Desplazar a la izquierda
>> Desplazar a la derecha
& AND bit a bit
^ XOR bit a bit
` `

Asignación:

&= Asignar AND bit a bit
^= Asignar XOR bit a bit
` =`
<<= Asignar desplazamiento a la izquierda
>>= Asignar desplazamiento a la derecha

Operadores lógicos

Los operadores lógicos funcionan con expresiones de cualquier tipo de datos.

Unario:

! NOT lógico

Binario:

&& AND lógico
`

Una expresión en cadena con un operador lógico comprueba si la cadena está vacía.

Un tipo de objeto con un operador lógico comprueba si el objeto contiene datos válidos.

Operadores de comparación

Los operadores de comparación funcionan con expresiones de cualquier tipo de datos, excepto los tipos de objeto.

< Menor que
<= Menor que o igual a
> Mayor que
>= Mayor que o igual a
== Igual a
!= Distinto de

Operadores de evaluación

Los operadores de evaluación se utilizan para evaluar expresiones basadas en alguna condición o para agrupar una secuencia de expresiones y hacer que se evalúen como una expresión.

?: Condicional
, Coma

El operador condicional se utiliza para tomar una decisión dentro de una expresión, como en

int a;
// ...code that calculates 'a'
string s = a ? "True" : "False";

que es básicamente igual que

int a;
string s;
// ...code that calculates 'a'
if (a)
   s = "True";
else
   s = "False";

pero la ventaja del operador condicional es que se puede utilizar en una expresión.

El operador coma se utiliza para evaluar una secuencia de expresiones de izquierda a derecha, utilizando como resultado el tipo y el valor del operando derecho.

Tenga en cuenta que los argumentos para iniciar una función, así como de varias declaraciones de variables, también utilizan comas como delimitadores, pero en ese caso, no es un operador de coma.

Operadores aritméticos

Los operadores aritméticos funcionan con tipos de datos de carácter, entero y real (excepto ++, —, % y %=).

Unario:

+ Más unario
- Menos unario
++ Incremento previo o posterior
-- Reducción previa o posterior

Binario:

* Multiplicar
/ Dividir
% Restante (módulo)
+ Más binario
- Menos binario

Asignación:

= Asignación simple
*= Asignar producto
/= Asignar cociente
%= Asignar restante (módulo)
+= Asignar suma
-= Asignar diferencia

Operadores de cadenas

Los operadores de cadenas funcionan con tipos de datos de carácter, número entero y cadena. El operando izquierdo siempre debe ser del tipo cadena.

Binario:

+ Concatenación

Asignación:

= Asignación simple
+= Añadir a cadena

El operador + concatena dos cadenas o añade un carácter al final de una cadena y devuelve la cadena resultante.

El operador += añade una cadena o un carácter al final de una cadena determinada.