Table of Contents

    Understanding Assignment Operators in C# Programming: Essential Concepts and Usage

    Understanding Assignment Operators in C# Programming: Essential Concepts and Usage

    There are following assignment operators supported by C# −

    Operator Description Example
    = Simple assignment operator, Assigns values from right side operands to left side operand C = A + B assigns value of A + B into C
    += Add AND assignment operator, It adds right operand to the left operand and assign the result to left operand C += A is equivalent to C = C + A
    -= Subtract AND assignment operator, It subtracts right operand from the left operand and assign the result to left operand C -= A is equivalent to C = C - A
    *= Multiply AND assignment operator, It multiplies right operand with the left operand and assign the result to left operand C *= A is equivalent to C = C * A
    /= Divide AND assignment operator, It divides left operand with the right operand and assign the result to left operand C /= A is equivalent to C = C / A
    %= Modulus AND assignment operator, It takes modulus using two operands and assign the result to left operand C %= A is equivalent to C = C % A
    <<= Left shift AND assignment operator C <<= 2 is same as C = C << 2
    >>= Right shift AND assignment operator C >>= 2 is same as C = C >> 2
    &= Bitwise AND assignment operator C &= 2 is same as C = C & 2
    ^= bitwise exclusive OR and assignment operator C ^= 2 is same as C = C ^ 2
    |= bitwise inclusive OR and assignment operator C |= 2 is same as C = C | 2

    Example

    The following example demonstrates all the assignment operators available in C# −

     

    
    using System;
    
    namespace OperatorsAppl {
    
       class Program {
       
          static void Main(string[] args) {
             int a = 21;
             int c;
             c = a;
             Console.WriteLine("Line 1 - =  Value of c = {0}", c);
             
             c += a;
             Console.WriteLine("Line 2 - += Value of c = {0}", c);
             
             c -= a;
             Console.WriteLine("Line 3 - -=  Value of c = {0}", c);
             
             c *= a;
             Console.WriteLine("Line 4 - *=  Value of c = {0}", c);
             
             c /= a;
             Console.WriteLine("Line 5 - /=  Value of c = {0}", c);
             
             c = 200;
             c %= a;
             Console.WriteLine("Line 6 - %=  Value of c = {0}", c);
             
             c <<= 2;
             Console.WriteLine("Line 7 - <<=  Value of c = {0}", c);
             
             c >>= 2;
             Console.WriteLine("Line 8 - >>=  Value of c = {0}", c);
             
             c &= 2;
             Console.WriteLine("Line 9 - &=  Value of c = {0}", c);
             
             c ^= 2;
             Console.WriteLine("Line 10 - ^=  Value of c = {0}", c);
             
             c |= 2;
             Console.WriteLine("Line 11 - |=  Value of c = {0}", c);
             Console.ReadLine();
          }
       }
    }
    

    When the above code is compiled and executed, it produces the following result −

    Line 1 - = Value of c = 21
    Line 2 - += Value of c = 42
    Line 3 - -= Value of c = 21
    Line 4 - *= Value of c = 441
    Line 5 - /= Value of c = 21
    Line 6 - %= Value of c = 11
    Line 7 - = Value of c = 11
    Line 9 - &= Value of c = 2
    Line 10 - ^= Value of c = 0
    Line 11 - |= Value of c = 2