EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Operator Precedence in C#

By Shobha ShivakumarShobha Shivakumar

Home » Software Development » Software Development Tutorials » C# Tutorial » Operator Precedence in C#

Operator Precedence in C#

Introduction to Operator Precedence in C#

The terms in an expression can be grouped using precedence of operators affecting the expression evaluation where the precedence of certain operators are high compared to the precedence of other operators and while grouping the operators, the operators with higher precedence is given first priority when compared to the operators with lower precedence for the evaluation of expressions and different types of operators are postfix operator, unary operator, multiplicative operator, additive operator, shift operator, relational operator, equality operator, Bitwise AND operator, Bitwise XOR operator, Bitwise OR operator, Logical AND operator, logical OR operator, conditional operator, assignment operator and comma operator.

Functions of Operator Precedence in C#

In order to understand the working of operator precedence in C#, we need to know the order of precedence of operators. The order of precedence in the higher order is as listed below:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

1. Postfix Operator

  • This include the operators ()[]->.++–
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

2. Unary Operator

  • This include the operators + – ! ~ ++ — (type)* &sizeof
  • The associativity for these operators is from right to left whenever they are used in an expression and considered for evaluation.

3. Multiplicative Operator

  • This include the operators */%
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

4. Additive Operator

  • This include the operators +-
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

5. Shift Operator

  • This include the operators <<>>
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

6. Relational Operator

  • This include the operators <<=>>=
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

7. Equality Operator

  • This include the operators == !=
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

8. Bitwise AND Operator

  • This includes the operator &
  • The associativity for this operator is from left to right.

9. Bitwise XOR Operator

  • This includes the operator ^
  • The associativity for this operator is from left to right.

10. Bitwise OR Operator

  • This includes the operator |
  • The associativity for this operator is from left to right.

11. Logical AND Operator

  • This includes the operator &&
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

12. Logical OR Operator

  • This includes the operator ||
  • The associativity for these operators is from left to right whenever they are used in an expression and considered for evaluation.

13. Conditional Operator

  • This includes the operator ?:
  • The associativity for these operators is from right to left whenever they are used in an expression and considered for evaluation.

14. Assignment Operator

  • This include the operators= += -= *= /= %= >>= <<= &= ^= |=
  • The associativity for these operators is from right to left whenever they are used in an expression and considered for evaluation.

15. Comma Operator

  • This includes the operator ,
  • The associativity for this operator is from left to right.

Now that we know the order of precedence of operators taken into consideration whileevaluating an expression, let us understand the working of precedence operators through an example. Consider the below statement:

int y = 2 + 3 * 5;

What is the value of y after the execution of this statement?

  • In the above statement, the operators + and * are in association with 3. As we have understood the precedence of operators and * having higher precedence than +, the expression 3 * 5 will be executed first and then the result of the expression is added to 2. Hence the value of y in the above statement will be 17.
  • If + had higher precedence than *, then the expression 2 + 3 would have got executed first and the resulting expression would be multiplied with 5. Then the value of y after executing the statement would be 25. Since we are going by the order of precedence for operators in C#, * has higher precedence over + and the result of the expression is 17.

Example of Operator Precedence in C#

C# program to demonstrate the precedence of operators.

Code:

using System;
namespace Op
{
public class OpPrec
{
public static void Main(string[] args)
{
int res;
int x = 4, y = 5, z = 3;
res = --x * y - ++z;
Console.WriteLine(res);
bool res1;
res1 = y >= z + x;
Console.WriteLine(res1);
}
}
}

In the above program, in the expression –x * y – ++z, –x and ++z is evaluated first and then the resulting value of –x is multiplied with y and the resulting value is subtracted from the resulting value of ++z as per the operator precedence in c#. And in the expression y >= z + x, z+x is evaluated first and the resulting value is compared with the value of y as per the operator precedence in c#.

Popular Course in this category
C# Training Program (6 Courses, 17 Projects)6 Online Courses | 17 Hands-on Project | 89+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.6 (8,847 ratings)
Course Price

View Course

Related Courses
ASP.NET Training (8 Courses, 19 Projects).NET Training Program (4 Courses, 19 Projects)

Output:

Operator Precedence in C#-1.1

Conclusion

In this article, we have learnt the precedence of operators in C#, their order of precedence, working of operator precedence through definition and examples.

Recommended Articles

This is a guide to Operator Precedence in C#. Here we also discuss the introduction and working of operator precedence in c# along with example and its code implementation. You may also have a look at the following articles to learn more –

  1. Deserialization in C#
  2. C# Class
  3. C# Delegates | Uses
  4. JS Operator Precedence

C# Training Program (6 Courses, 17 Projects)

6 Online Courses

17 Hands-on Project

89+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C sharp Tutorial
  • Operators
    • Logical Operators in C#
    • Conditional Operators in C#
    • Bitwise Operators in C#
    • C# OR Operator
    • C# Ternary Operators
    • Operator Precedence in C#
  • Basic
    • Uses Of C#
    • C# Versions
    • C# Data Types
    • Variables in C#
    • Namespaces in C#
    • C# Compilers
    • C# Keywords
    • Iterators in C#
    • Objects in C#
    • C# Object Dispose
    • C# object to XML
    • C# check object type
    • C# Object Serialization
    • Pointers in C#
    • C# Literals
    • C# Commands
    • C# Custom Attribute
    • Type Casting in C#
    • String vs String C#
    • C# Struct vs Class
  • Control Statement
    • C# if Statement
    • Else If in C#
    • Continue in C#
    • Break in C#
    • Switch Statement in C#
    • Goto Statement in C#
  • Loops
    • C# For Loop
    • C# While Loop
    • C# do-while loop
    • C# foreach Loop
  • Arrays
    • Arrays in C#
    • 2D Arrays in C#
    • C# Jagged Arrays
    • String Array in C#
    • C# Multidimensional Arrays
  • Constructor and Destructor
    • Constructor in C#
    • Copy Constructor in C#
    • Static Constructor in C#
    • Destructor in C#
  • overloading and overrideing
    • Overloading and Overriding in C#
    • Overloading in C#
    • Overriding in C#
    • Method Overloading in C#
    • Method Overriding in C#
    • Operator Overloading in C#
  • Functions
    • C# Functions
    • C# String Functions
    • Math Functions in C#
    • Recursive Function in C#
    • C# Anonymous Functions
    • C# Local Functions
    • Enum in C#
    • Trim() in C#
    • clone() in C#
    • C# random
    • C# String Format()
    • C# String Interpolation
    • C# StartsWith()
    • C# String IndexOf()
    • DateTime in C#
    • C# Nullable
    • C# nameof
    • C# checked
    • C# String PadLeft
    • Convert String to Double in C#
    • Convert int to String C#
    • String to Date C#
    • C# intern()
    • C# Stopwatch
    • C# DirectoryInfo
    • C# Compare()
    • C# Base
    • C# SOAP
    • Lock in C#
  • Advanced
    • Inheritance in C#
    • Exception Handling in C#
    • Types of Exception in C#
    • C# FileNotFoundException
    • C# NullReferenceException
    • C# OutOfMemoryException
    • C# StackOverflowException
    • Custom Exception in C#
    • What is Multithreading in C#
    • C# finally
    • C# System.IO
    • What is StringBuilder in C#
    • DataReader C#
    • BinaryWriter in C#
    • C# BinaryReader
    • TextWriter in C#
    • TextReader in C#
    • C# StringReader
    • C# StringWriter
    • C# StreamReader
    • C# StreamWriter
    • C# FileInfo
    • What is Design Pattern in C#?
    • Multithreading in C#
    • Sorting in C#
    • Bubble Sort in C#
    • C# SortedList
    • C# SortedSet
    • C# SortedDictionary
    • Abstract Class in C#
    • Access Modifiers in C#
    • C# Generics
    • Deserialization in C#
    • C# Thread
    • C# Thread Join
    • C# Thread Sleep
    • C# Thread Synchronization
    • C# Class
    • Sealed in C#
    • Sealed Class in C#
    • Polymorphism in C#
    • C# Call By Reference
    • Virtual Keyword in C# 
    • Yield Keyword in C#
    • Regular Expression in C#
    • C# Lambda Expression
    • C# Predicate
    • Convert Object to JSON C#
    • Checkbox in C#
    • C# MessageBox
    • Collections in C#
    • List in C#
    • C# LinkedList
    • Listbox in C#
    • Protected in C#
    • C# EventHandler
    • Private in C#
    • this Keyword in C#
    • Static Keyword in C#
    • C# Out Parameter
    • Assert in C#
    • C# Delegates
    • C# Interface
    • Generics in C#
    • Timer in C#
    • C# Serialization
    • Metadata in C#
    • C# Stack
    • C# Using Static
    • Queue in C#
    • C# File.Exists
    • C# Tuples
    • C# Create JSON Object
    • Partial in C#
    • C# readonly
    • C# Action Delegate
    • C# Await Async
    • C# Dictionary
    • IEnumerable C#
    • C# Data Grid View
    • C# Dynamic
    • Web Services in C#
    • C# Pattern Matching
    • C# Extension Methods
    • C# XmlSerializer
  • Programs
    • Patterns in C#
    • Swapping in C#
    • Palindrome in C#
    • Factorial in C#
    • Fibonacci Series in C#
    • Random Number Generator in C#
    • Prime Numbers in C#
    • Armstrong Number in C#
    • Reverse String in C#
  • Interview questions
    • C# Interview Questions and Answers
    • C# OOP Interview Questions
    • C# Design Pattern Interview Questions

Related Courses

C# Certification Training

ASP.NET Course

.NET Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C# Training Program (6 Courses, 17 Projects) Learn More