Compartilhar via


Operadores de C#

C# fornece um grande conjunto de operadores, que são os símbolos que especificam que operações para executar em uma expressão.Operações com tipos integrais como ==, !=, <, >, <=, >=, binary +, binary -, ^, &|, ~, ++, --, e sizeof() geralmente são permitidos em enumerações.Além de isso, vários operadores podem ser sobrecarregado pelo usuário, para alterar seu significado quando aplicado a um tipo definido pelo usuário.

A tabela a seguir lista os operadores C# agrupados em ordem de precedência.Os operadores dentro de cada grupo têm precedência igual.

Categoria de operador

Operadores

Primária

x.y

f (x)

a x []

x++

x--

novo

typeof

marcado

desmarcado

opção (T)

delegado

sizeof

- >

Unário

+x

- x

! x

~x

++x

--x

(T) x

espere

&x

*x

multiplicativo

x * y

x ou y

% x y

aditivo

x + y

x - y

Shift

x << y

x >> y

Testando relacionais e de tipo

x < y

x > y

x <= y

x >= y

é

como

Igualdade

x == y

x! = y

A lógica AND

x e y

XOR lógico

x ^ y

OU lógico

x | s

Condicional)

x && y

OPERADOR condicional

x || s

NULL-coalescência

x ??y

Condicional

?:

Atribuição e expressão lambda

x = y

x += y

x - = y

x *= y

x/= y

y x %

x &= y

x |= y

y x ^=

x <<= y

x >>= y

=>

estouro aritmético

Os operadores aritméticos (+, -, *, /) podem gerar os resultados que estão fora do intervalo de valores possíveis para o tipo numérico empacotado.Você deve se referir a seção em um operador específico para detalhes, mas geralmente:

  • Overflow aritmética de inteiros gera OverflowException ou rejeita os bits significativos de resultado.Divisão por zero sempre lança DivideByZeroException.

  • Overflow aritmética de ponto flutuante ou divisão por zero nunca lança uma exceção, porque os tipos de ponto flutuante são baseados em IEEE e 754 para que têm previsão para representar a infinito e o NaN (não um número).

  • overflow aritmética dedecimal sempre lança OverflowException.Divisão por zero decimal sempre lança DivideByZeroException.

Quando integer overflow ocorre, o que acontece depende do contexto de execução, que pode ser marcada ou desmarcada.Em um contexto verificado, OverflowException é lançada.Em um contexto não-verificada, os bits significativos o resultado são descartados e a execução é retomada.Assim, C# oferece a você a opção de tratamento ou estouro ignorar.

Além dos operadores aritméticos, o integral- tipo para conversões de tipo integral- pode causar overflow, por exemplo, converter long a int, e execução é marcada ou desmarcada sujeita.Em o entanto, os operadores bit a bit e os operadores SHIFT nunca geram overflow.

Consulte também

Referência

Operadores que pode ser sobrecarregados (guia de programação do C#)

Palavras-chave C#

Conceitos

Guia de programação do C#

Outros recursos

Referência de C#

Visual C#