Increment and Decrement Operators
You’ll often find yourself needing to manipulate the value in a variable, and then store that result back in the original variable. Suppose, for example, that you have a variable inventory, which you use to keep track of the quantity of widgets you have in your warehouse. You wouldn’t want to have to create new variables every time inventory increases or decreases; you want the current value to always be available in inventory. C# provides several operators for just these kinds of calculations.
The Calculate and Reassign Operators
Suppose you want to increase the mySalary variable by 5,000 (congratulations on your raise!). You can do this by writing:
mySalary = mySalary + 5000;
In simple arithmetic, this would make no sense, but that’s because it’s not an equation, it’s a C# assignment expression. In C#, this line means “add 5,000 to the value in mySalary, and assign the sum back to mySalary.” Thus, after this operation completes, mySalary will have been incremented by 5,000. You can perform this kind of assignment with any mathematical operator:
mySalary = mySalary * 5000; mySalary = mySalary - 5000;
and so forth.
The need to perform this kind of manipulation is so common that C# includes special operators for self-assignment. These operators are +=, -=, *=, /=, and %=, which, respectively, combine addition, subtraction, multiplication, division, and modulus with self-assignment. Thus, you can write the previous three examples as:
mySalary += 5000; mySalary ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access