C # - Prioridad de operadores

La precedencia del operador determina la agrupación de términos en una expresión. Esto afecta la evaluación de una expresión. Algunos operadores tienen mayor precedencia que otros; por ejemplo, el operador de multiplicación tiene mayor precedencia que el operador de suma.

Por ejemplo x = 7 + 3 * 2; aquí, x se asigna 13, no 20 porque el operador * tiene mayor precedencia que +, por lo que la primera evaluación se lleva a cabo para 3 * 2 y luego se agrega 7.

Aquí, los operadores con mayor precedencia aparecen en la parte superior de la tabla, los que tienen la menor prioridad aparecen en la parte inferior. Dentro de una expresión, los operadores de mayor precedencia se evalúan primero.

Categoría Operador Asociatividad
Sufijo () [] ->. ++ - - De izquierda a derecha
Unario + -! ~ ++ - - (tipo) * & sizeof De derecha a izquierda
Multiplicativo * /% De izquierda a derecha
Aditivo + - De izquierda a derecha
Cambio << >> De izquierda a derecha
Relacional <<=>> = De izquierda a derecha
Igualdad ==! = De izquierda a derecha
Y bit a bit Y De izquierda a derecha
XOR bit a bit ^ De izquierda a derecha
O bit a bit | De izquierda a derecha
Y lógico && De izquierda a derecha
OR lógico || De izquierda a derecha
Condicional ?: De derecha a izquierda
Asignación = + = - = * = / =% = >> = << = & = ^ = | = De derecha a izquierda
Coma , De izquierda a derecha

Ejemplo

using System;
namespace OperatorsAppl {
   class Program {
      static void Main(string[] args) {
         int a = 20;
         int b = 10;
         int c = 15;
         int d = 5;
         int e;
         e = (a + b) * c / d;     // ( 30 * 15 ) / 5
         Console.WriteLine("Value of (a + b) * c / d is : {0}", e);

         e = ((a + b) * c) / d;   // (30 * 15 ) / 5
         Console.WriteLine("Value of ((a + b) * c) / d is  : {0}", e);

         e = (a + b) * (c / d);   // (30) * (15/5) {0}", e);

         e = a + (b * c) / d;    //  20 + (150/5) {0}", e);
         Console.ReadLine();
      }
   }
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is  : 90