Advertisement



< Prev
Next >



C# Decrement Operator










Pre-decrement operation


This operation is named pre-decrement because the decrement operator(--) comes before the operand.
Sequence of operation in pre-decrement operation is -
// C# pre-decrement operation

using System;

class A
{
public static void Main()
{
	//Local variables
	char ch = 'b';
	byte b = 20;
	short sh = 99;
	int i = 16;
	long l = 99999;
	float f = 20.5f;
	double d = 15.5;

	Console.WriteLine("Original character " + ch);
	Console.WriteLine("Decremented character " + --ch);

	Console.WriteLine("Original byte " + b);
	Console.WriteLine("Decremented byte " + --b);

	Console.WriteLine("Original short " + sh);
	Console.WriteLine("Decremented short " + --sh);

	Console.WriteLine("Original int " + i);
	Console.WriteLine("Decremented int " + --i);

	Console.WriteLine("Original long " + l);
	Console.WriteLine("Decremented long " + --l);

	Console.WriteLine("Original float " + f);
	Console.WriteLine("Decremented float  " + --f);

	Console.WriteLine("Original double " + d);
	Console.WriteLine("Decremented double " + --d);
}
}


Output is


Original character b
Decremented character a
Original byte 20
Decremented byte 19
Original short 99
Decremented short 98
Original int 16
Decremented int 15
Original long 99999
Decremented long 99998
Original float 20.5
Decremented float  19.5
Original double 15.5
Decremented double 14.5





Post-Decrement operator


// C# Example of post-decrement operation

using System;

class A
{
public static void Main()
{
	//Local variables
	char ch = 'b';
	byte b = 20;
	short sh = 99;
	int i = 16;
	long l = 99999;
	float f = 20.5f;
	double d = 15.5;

	Console.WriteLine("Original character " + ch);
	Console.WriteLine("Decremented character " + ch--);

	Console.WriteLine("Original byte " + b);
	Console.WriteLine("Decremented byte " + b--);

	Console.WriteLine("Original short " + sh);
	Console.WriteLine("Decremented short " + sh--);

	Console.WriteLine("Original int " + i);
	Console.WriteLine("Decremented int " + i--);

	Console.WriteLine("Original long " + l);
	Console.WriteLine("Decremented long " + l--);

	Console.WriteLine("Original float " + f);
	Console.WriteLine("Decremented float  " + f--);

	Console.WriteLine("Original double " + d);
	Console.WriteLine("Decremented double " + d--);
}
}
Output -
Original character b
Decremented character b
Original byte 20
Decremented byte 20
Original short 99
Decremented short 99
Original int 16
Decremented int 16
Original long 99999
Decremented long 99999
Original float 20.5
Decremented float  20.5
Original double 15.5
Decremented double 15.5


Program Analysis





Advertisement




Displaying decremented value after a post-decrement operation


//C# Example of correctly displaying the decremented value after a post-increment operation

using System;

class A
{
public static void Main()
{
	//Local variables
	char ch = 'b';
	byte b = 20;
	short sh = 99;
	int i = 16;
	long l = 99999;
	float f = 20.5f;
	double d = 15.5;


	Console.WriteLine("Original character " + ch);
	ch--;
	Console.WriteLine("Decremented character " + ch);

	Console.WriteLine("Original byte " + b);
	b--;
	Console.WriteLine("Decremented byte " + b);

	Console.WriteLine("Original short " + sh);
	sh--;
	Console.WriteLine("Decremented short " + sh);

	Console.WriteLine("Original int " + i);
	i--;
	Console.WriteLine("Decremented int " + i);

	Console.WriteLine("Original long " + l);
	l--;
	Console.WriteLine("Decremented long " + l);

	Console.WriteLine("Original float " + f);
	f--;
	Console.WriteLine("Decremented float  " + f);

	Console.WriteLine("Original double " + d);
	d--;
	Console.WriteLine("Decremented double " + d);
}
}


Output-


Original character b
Decremented character a
Original byte 20
Decremented byte 19
Original short 99
Decremented short 98
Original int 16
Decremented int 15
Original long 99999
Decremented long 99998
Original float 20.5
Decremented float  19.5
Original double 15.5
Decremented double 14.5


Program Analysis







Post and pre-decrement operators in arithmetic expressions.


//C# Example of post and pre-decrement operators in arithmetic expressions.

using System;

class A
{
public static void Main()
{
	//Local variables 
	int a = 10, b=10, c=10, d=10;

	//Printing the values of local variables
	Console.WriteLine("a = " + a);
	Console.WriteLine("b = " + b);
	Console.WriteLine("c = " + c);
	Console.WriteLine("d = " + d);

	//first expression
	int result = a-- - 10; //first value of a(10) is read and subtracted with 10 and then it is decremented to 9
	Console.WriteLine("Result of a-- - 10 = " + result);
	Console.WriteLine("The decremented value of a = "+ a);

	//second expression
	result = --b - 10; //first the value of a(9) is decremented to 8 and then it is subtracted by 10.
	Console.WriteLine("Result of --b - 10 = " + result);
	Console.WriteLine("The incremented value of b = "+ b); 

	//third expression
	result = --c + c--;
	Console.WriteLine("Result of --c + c-- = " + result);
	Console.WriteLine("The incremented value of c = "+ c);

	//fourth expression
	result = d-- + 10 + --d;
	Console.WriteLine("Result of d-- + 10 + --d	 = " + result);
	Console.WriteLine("The incremented value of d = "+ d);
}
}


Output-


Result1 = 0
a = 9
Result2 = -1
b = 9
Result3 = 18
c = 8
Result4 = 28
d = 8





Explaining the sequence of operations in our last code.



a-- - 10
  1. Due to post-decrement operator with a, its value 10 is first read to be subtracted by 10.
  2. Next, the original value of a is decremented to 9.
  3. Finally, result of 10-10 = 0, is passed to the result.



--b - 10
  1. Due to pre-decrement operator with b, its value 10 is first decremented to 9
  2. Next, this decremented value of b, 9 is subtracted by 10
  3. Finally, result of 9-10 = -1 , is passed ot the result.




--c + c--
  1. Due to pre-decrement operator with c, first its value 10 is decremented to 9
  2. In the next expression, due to post-decrement operator with c, first the current value of c i.e. 9 is read and added to 9 from the previous expression and then c is decremented to 8
  3. Finally, the result of 9+9 = 18, is passed to the result.




d-- + 10 + --d
  1. Due to post-decrement operator with d, first its value is read to be added to 10, resulting 20 and then d is decremented to 9
  2. In the next expression, due to pre-decrement operator with d, first the current value of d 9 is first decremented to 8 and then it is added to 20 from the previous expression.
  3. Finally, the result of 20+8 = 28, is passed to the result.




Please share this article -




< Prev
Next >
< C# Increment Operator
C# Compound Assignment Operators >



Advertisement

Please Subscribe

Please subscribe to our social media channels for daily updates.


Decodejava Facebook Page  DecodeJava Twitter Page Decodejava Google+ Page




Advertisement



Notifications



Please check our latest addition

C#, PYTHON and DJANGO


Advertisement