Precedência

Definição - o que significa precedência?

Precedência, em C #, é a regra que especifica a ordem em que certas operações precisam ser executadas em uma expressão. Para uma determinada expressão contendo mais de dois operadores, ele determina quais operações devem ser calculadas primeiro.

Enquanto a avaliação de uma expressão executada por humanos começa da esquerda e trabalha para a direita, uma expressão C # é avaliada por meio da precedência do operador. A precedência ajuda a descrever uma expressão que contém diferentes tipos de operadores sem parênteses como uma expressão com parênteses, aplicando as regras predefinidas definidas pelo C # Language Specification (CLS).

Expressão AC # é uma sequência de um ou mais operandos que são combinados usando operadores e também podem conter valores literais, uma invocação de método, variáveis, etc. Este tipo de expressão pode ser avaliado como um único valor, objeto ou método. A precedência desempenha um papel vital na determinação da ordem em que uma expressão deve ser avaliada.

Definirtec explica precedência

A precedência dos operadores C # é semelhante à usada nas fórmulas algébricas. A lista de categorias de operadores C # com a ordem de precedência inclui:

  • Primário (xy, f (x), a [x], x ++, x--, novo, tipo de, marcado, desmarcado)
  • Unário (+, -,!, ~, ++ x, --x, (T) x)
  • Multiplicativo (*, /,%)
  • Aditivo (+, -)
  • Shift (<<. >>)
  • Teste relacional e de tipo (<.>, <=,> =, É, como)
  • Igualdade (==,! =)
  • E lógico (&)
  • XOR lógico (^)
  • OR lógico (|)
  • E condicional (&&)
  • OR condicional ||
  • Coalizão nula (??)
  • Ternário (ou condicional) (? 🙂
  • Atribuição (=, * =, / =,% =. + =, - =,, & =, ^ =, | = 0)

Por exemplo, a expressão "a - b / c, b / c" será avaliada primeiro e, em seguida, o quociente será subtraído de "a" porque a divisão tem uma precedência maior do que a subtração.

Usando parênteses para a expressão que precisa ser avaliada primeiro, a precedência pode ser substituída.

Esta definição foi escrita no contexto de C #