C# .Net Operators

C# .Net Operators

An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations. C# has rich set of built-in operators and provides the following type of operators:

  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  •  Bitwise Operators
  • Assignment Operators
  • Misc Operators

This tutorial explains the arithmetic, relational, logical, bitwise, assignment, and other operators one by one.

Arithmetic Operators :

Following table shows all the arithmetic operators supported by C#. Assume variable A holds 10 and variable B holds 20 then:

OPERATOR
DESCRIPTION
EXAMPLE
+'
Adds two operands
A + B = 30
-'
Subtracts second operand from the first
A - B =  -10
*'
Multiplies both operands
A * B = 200
/'
Divides numerator by de-numerator
B/A  = 2
%'
Modulus Operator and remainder of after an integer division
 B%A = 0
++'
Increment operator increases integer value by one
A + + = 11
--'
Decrement operator decreases integer value by one
A-- = 9

Relational Operators:

Following table shows all the relational operators supported by C#. Assume variable A holds 10 and variable B holds 20, then:
OPERATORS
DESCRIPTION
EXAMPLE
 '=='
Checks if the values of two operands are equal or not, if yes then condition becomes true.
(A == B) is not true.
 '!='
Checks if the values of two operands are equal or not, if values are not equal then condition becomes true.
(A != B) is true.
 '>'
Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true.
(A > B) is not true.
 '<'
Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true.
(A < B) is true.
 '>='
Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true.
(A >= B) is not true.
 '<='
Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true.
(A <= B) is true.

Logical Operators :

Following table shows all the logical operators supported by C#. Assume variable A holds Boolean value true and variable B holds Boolean value false, then:

OPERATORS
DESCRIPTION
EXAMPLE
 '&&'
Called Logical AND operator. If both the operands are non zero then condition becomes true.
(A && B) is false.
 '||'
Called Logical OR Operator. If any of the two operands is non zero then condition becomes true.
(A || B) is true.
 '!'
Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false.
!(A && B) is true.

Bitwise Operators:

Bitwise operator works on bits and perform bit by bit operation. The truth tables for &, |, and ^ are as follows:

'p'
 'q'
 'p&q'
‘p|q'
‘p^q'
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1

Assume if A = 60; and B = 13, then in the binary format they are as follows:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = 1100 0011
The Bitwise operators supported by C# are listed in the following table. Assume variable A holds 60 and variable B holds 13, then:

OPERATOR
DESCRIPTION
EXAMPLE
 '&'
Binary AND Operator copies a bit to the result if it exists in both operands.
(A & B) = 12, which is 0000 1100
 '|'
Binary OR Operator copies a bit if it exists in either operand.
(A | B) = 61, which is 0011 1101
 '^'
Binary XOR Operator copies the bit if it is set in one operand but not both.
(A ^ B) = 49, which is 0011 0001
 '~'
Binary Ones Complement Operator is unary and has the effect of 'flipping' bits.
(~A ) = 61, which is 1100 0011 in 2's complement due to a signed binary number.
 '<<'
Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand.
A << 2 = 240, which is 1111 0000
  '>>'
Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand.
A >> 2 = 15, which is 0000 1111
  
  
Assignment Operators:

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


Miscillaneous Operators :

There are few other important operators including sizeof, typeof and ? : supported by C#.

Example:  sizeof(), typeof()

Comments

Post a Comment