Logical Equalities
Logical Equalities
Conditions for Equality
Introduction
We are now familiar with the ability to find out whether one of two values is higher or lower than the other. In some cases, you want to know whether two values share a similarity.
Practical Learning: Introducing Conditions
To compare two variables for equality, C# provides the == operator. The formula to use it is:
value1 == value2
The equality operation is used to find out whether two variables (or one variable and a constant) hold the same value. The operation can be illustrated as follows:
Unlike the "Less Than" (<) and the "Greater Than" (>) operations, the equality (==) operator cannot use the is operator.
It is important to make a distinction between the assignment "=" and the logical equality operator "==". The first is used to give a new value to a variable, as in Number = 244. The operand on the left side of = must always be a variable and never a constant. The == operator is never used to assign a value; this would cause an error. The == operator is used only to compare two values. The operands on both sides of == can be variables, constants, or one can be a variable while the other is a constant.
Logical Difference
We already know that the == operator is used to find out if two values are the same. The opposite is to find out whether two values are different. The operator to do this is !=. It can be illustrated as follows:
A typical Boolean expression involves two operands separated by a logical operator. Both operands must be of the same type. These rules apply to the logical difference. It can be used on numbers, strings, etc. If both operands are different, the operation produces a True result. If they are the exact same, the operation produces False.
The != operator can be used the same way as the equality operator (==) as long as you keep in mind that != is the opposite of ==.
Unlike the "Less Than" (<) and the "Greater Than" (>) operations, the logical difference (!=) operator cannot use the is operator.
Less Than Or Equal To: <=
The Equality (==) and the Less Than (<) operations can be combined to compare two values. This allows you to know if two values are the same or if the first value is lower than the second value. The operator used is <= and its syntax is:
value1 is <= value2
The <= operation performs a comparison as any of the last two. If both value1 and value2 hold the same value, the result is True. If the left operand, in this case value1, holds a value lower than the second operand, in this case value2, the result is still True. The <= operation can be illustrated as follows:
Here is an example that uses the <= operator:
@page
@model Valuable.Pages.FoundationsModel
@using static System.Console
@{
double originalPrice = 124.50;
double discountRate = 35.00; // %
double number_of_days_in_store = 75;
if (number_of_days_in_store is <= 45)
discountRate = 25.00;
double discountAmount = originalPrice * discountRate / 100.00;
double markedPrice = originalPrice - discountAmount;
string strOriginalPrice = $"{originalPrice:N}";
string strDaysInStore = $"{number_of_days_in_store}";
string strDiscountRate = $"{discountRate:N}";
string strDiscountAmount = $"{discountAmount:N}";
string strMarkedPrice = $"{markedPrice:N}";
}
<pre>Fun Department Store");
----------------------------------
Original Price: @strOriginalPrice
Days in Store: @number_of_days_in_store
Discount Rate: @discountRate
Discount Amount: @discountAmount
Marked Price: @markedPrice</pre>
@{
number_of_days_in_store = 22;
if (number_of_days_in_store is <= 45)
discountRate = 25.00;
discountAmount = originalPrice * discountRate / 100.00;
markedPrice = originalPrice - discountAmount;
}
<pre>Fun Department Store");
----------------------------------
Original Price: @strOriginalPrice
Days in Store: @number_of_days_in_store
Discount Rate: @discountRate
Discount Amount: @discountAmount
Marked Price: @markedPrice</pre>
This would produce:
Fun Department Store ---------------------------------- Original Price: 124.50 Days in Store: 75 Discount Rate: 35 Discount Amount: 43.575 Marked Price: 80.925 Fun Department Store ---------------------------------- Original Price: 124.50 Days in Store: 22 Discount Rate: 25 Discount Amount: 31.125 Marked Price: 93.375
Practical Learning: Comparing for a Lesser Value
@page @model PayrollPreparation2.Pages.PayPreparationModel @{ string firstName = ""; string lastName = ""; double hourlySalary = 0.00; double monday = 0.00; double tuesday = 0.00; double wednesday = 0.00; double thursday = 0.00; double friday = 0.00; double timeWorked = 0.00; double netPay = 0.00; double regTime = 0.00; double overtime = 0.00; double overPay = 0.00; double regPay = 0.00; string strMonday = "0.00"; string strTuesday = "0.00"; string strWednesday = "0.00"; string strThursday = "0.00"; string strFriday = "0.00"; string strHourlySalary = "0.00"; string strRegularTime = "0.00"; string strOvertime = "0.00"; string strRegularPay = "0.00"; string strOvertimePay = "0.00"; string strNetPay = "0.00"; if (Request.HasFormContentType) { firstName = Request.Form["txtFirstName"]; lastName = Request.Form["txtLastName"]; hourlySalary = double.Parse(Request.Form["txtHourlySalary"]); monday = double.Parse(Request.Form["txtMonday"]); tuesday = double.Parse(Request.Form["txtTuesday"]); wednesday = double.Parse(Request.Form["txtWednesday"]); thursday = double.Parse(Request.Form["txtThursday"]); friday = double.Parse(Request.Form["txtFriday"]); timeWorked = monday + tuesday + wednesday + thursday + friday; regTime = 40.00; regPay = hourlySalary * 40.00; overtime = timeWorked - 40.00; overPay = hourlySalary * 1.50 * overtime; if( timeWorked is <= 40.00) { regTime = timeWorked; regPay = hourlySalary * timeWorked; overtime = 0.00; overPay = 0.00; } netPay = regPay + overPay; strMonday = $"{monday:F}"; strTuesday = $"{tuesday:F}"; strWednesday = $"{wednesday:F}"; strThursday = $"{thursday:F}"; strFriday = $"{friday:F}"; strHourlySalary = $"{hourlySalary:F}"; strRegularTime = $"{regTime:F}"; strOvertime = $"{overtime:F}"; strRegularPay = $"{regPay:F}"; strOvertimePay = $"{overPay:F}"; strNetPay = $"{netPay:F}"; } }<h1 style="text-align: center">Payroll Preparation</h1> <hr /> <form name="PayrollEvaluation" method="post"> <h3 style="text-align: center">Employee Information</h3> <hr /> <table style="width: 625px" align="center"> <tr> <td style="width: 125px">First Name:</td> <td><input type="text" style="width: 100px" id="txtFirstName" name="txtFirstName" value="@firstName" /></td> <td>Last Name:</td> <td><input type="text" style="width: 100px" id="txtLastName" name="txtLastName" value="@lastName" /></td> <td>Hourly Salary:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtHourlySalary" name="txtHourlySalary" value="@strHourlySalary" /></td> </tr> </table> <hr /> <table style="width: 625px" align="center"> <tr> <td style="width: 125px"> </td> <td>Monday</td> <td>Tuesday</td> <td>Wednesday</td> <td>Thursday</td> <td>Friday</td> </tr> <tr> <td>Time Worked:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtMonday" name="txtMonday" value="@strMonday" /></td> <td><input type="text" style="width: 100px; text-align: right" id="txtTuesday" name="txtTuesday" value="@strTuesday" /></td> <td><input type="text" style="width: 100px; text-align: right" id="txtWednesday" name="txtWednesday" value="@strWednesday" /></td> <td><input type="text" style="width: 100px; text-align: right" id="txtThursday" name="txtThursday" value="@strThursday" /></td> <td><input type="text" style="width: 100px; text-align: right" id="txtFriday" name="txtFriday" value="@strFriday" /></td> </tr> </table> <hr /> <table style="width: 300px" align="center"> <tr> <td style="width: 50px"> </td> <td><input type="submit" value="Evaluate Payroll" name="btnEvaluatePayroll" style="width: 150px" /></td> </tr> </table> <hr /> <table style="width: 625px" align="center"> <tr style="border-bottom: 1px solid black"> <td style="width: 225px"> </td> <td style="width: 225px">Pay Summary</td> <td style="text-align: right">Time</td> <td style="text-align: right">Pay</td> </tr> <tr style="border-bottom: 1px solid black"> <td> </td> <td style="text-align: right">Regular:</td> <td style="text-align: right">@strRegularTime</td> <td style="text-align: right">@strRegularPay</td> </tr> <tr style="border-bottom: 1px solid black"> <td> </td> <td style="text-align: right">Overtime:</td> <td style="text-align: right">@strOvertime</td> <td style="text-align: right">@strOvertimePay</td> </tr> <tr style="border-bottom: 1px solid black"> <td> </td> <td> </td> <td>Net Pay:</td> <td style="text-align: right">@strNetPay</td> </tr> </table> </form>
First Name: Anne Last Name: Murdock Hourly Salary: 19.27 Monday: 7.5 Tuesday: 8 Wednesday: 6.5 Thursday: 8 Friday: 6.5
First Name: Emilio Last Name: Cordova Hourly Salary: 22.16 Monday: 9.5 Tuesday: 8 Wednesday: 7.5 Thursday: 10.5 Friday: 8
@page @model StraightLineMethod2.Pages.DepreciationModel @{ int year = 0; int estimatedLife = 0; double machineCost = 0.00; double salvageValue = 0.00; double depreciationRate = 0.00; double yearlyDepreciation = 0.00; string strDepreciation12 = "0.00"; double bookValueYear0 = 0.00; double bookValueYear1 = 0.00; double bookValueYear2 = 0.00; double bookValueYear3 = 0.00; double bookValueYear4 = 0.00; double bookValueYear5 = 0.00; double bookValueYear6 = 0.00; double bookValueYear7 = 0.00; double bookValueYear8 = 0.00; double bookValueYear9 = 0.00; double bookValueYear10 = 0.00; string strBookValueYear0 = "0.00"; string strBookValueYear1 = "0.00"; string strBookValueYear2 = "0.00"; string strBookValueYear3 = "0.00"; string strBookValueYear4 = "0.00"; string strBookValueYear5 = "0.00"; string strBookValueYear6 = "0.00"; string strBookValueYear7 = "0.00"; string strBookValueYear8 = "0.00"; string strBookValueYear9 = "0.00"; string strBookValueYear10 = "0.00"; string strAccumulatedDepreciation1 = "0.00"; string strAccumulatedDepreciation2 = "0.00"; string strAccumulatedDepreciation3 = "0.00"; string strAccumulatedDepreciation4 = "0.00"; string strAccumulatedDepreciation5 = "0.00"; string strAccumulatedDepreciation6 = "0.00"; string strAccumulatedDepreciation7 = "0.00"; string strAccumulatedDepreciation8 = "0.00"; string strAccumulatedDepreciation9 = "0.00"; string strAccumulatedDepreciation10 = "0.00"; string strYearlyDepreciation = "0.00"; if (Request.HasFormContentType) { machineCost = double.Parse(Request.Form["txtMachineCost"]); salvageValue = double.Parse(Request.Form["txtSalvageValue"]); estimatedLife = int.Parse(Request.Form["txtEstimatedLife"]); depreciationRate = 100 / estimatedLife; yearlyDepreciation = (machineCost - salvageValue) / estimatedLife; strDepreciation12 = $"{(yearlyDepreciation / 12):n}"; strYearlyDepreciation = $"{yearlyDepreciation:f}"; bookValueYear0 = machineCost - (yearlyDepreciation * 0); bookValueYear1 = machineCost - (yearlyDepreciation * 1); bookValueYear2 = machineCost - (yearlyDepreciation * 2); bookValueYear3 = machineCost - (yearlyDepreciation * 3); bookValueYear4 = machineCost - (yearlyDepreciation * 4); bookValueYear5 = machineCost - (yearlyDepreciation * 5); bookValueYear6 = machineCost - (yearlyDepreciation * 6); bookValueYear7 = machineCost - (yearlyDepreciation * 7); bookValueYear8 = machineCost - (yearlyDepreciation * 8); bookValueYear9 = machineCost - (yearlyDepreciation * 9); bookValueYear10 = machineCost - (yearlyDepreciation * 10); strBookValueYear0 = $"{bookValueYear0:F}"; strBookValueYear1 = $"{bookValueYear1:F}"; strBookValueYear2 = $"{bookValueYear2:F}"; strBookValueYear3 = $"{bookValueYear3:F}"; strBookValueYear4 = $"{bookValueYear4:F}"; strBookValueYear5 = $"{bookValueYear5:F}"; strBookValueYear6 = $"{bookValueYear6:F}"; strBookValueYear7 = $"{bookValueYear7:F}"; strBookValueYear8 = $"{bookValueYear8:F}"; strBookValueYear9 = $"{bookValueYear9:F}"; strBookValueYear10 = $"{bookValueYear10:F}"; strAccumulatedDepreciation1 = $"{yearlyDepreciation * 1:F}"; strAccumulatedDepreciation2 = $"{yearlyDepreciation * 2:F}"; strAccumulatedDepreciation3 = $"{yearlyDepreciation * 3:F}"; strAccumulatedDepreciation4 = $"{yearlyDepreciation * 4:F}"; strAccumulatedDepreciation5 = $"{yearlyDepreciation * 5:F}"; strAccumulatedDepreciation6 = $"{yearlyDepreciation * 6:F}"; strAccumulatedDepreciation7 = $"{yearlyDepreciation * 7:F}"; strAccumulatedDepreciation8 = $"{yearlyDepreciation * 8:F}"; strAccumulatedDepreciation9 = $"{yearlyDepreciation * 9:F}"; strAccumulatedDepreciation10 = $"{yearlyDepreciation * 10:F}"; } } <h1 style="text-align: center">Machine Depreciation Evaluation - Straight-Line Method</h1> <hr /> <form name="PayrollEvaluation" method="post"> <table style="width: 625px" align="center"> <tr> <td style="width: 125px">Machine Cost:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtMachineCost" name="txtMachineCost" value="@machineCost" /></td> </tr> <tr> <td>Salvage Value:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtSalvageValue" name="txtSalvageValue" value="@salvageValue" /></td> </tr> <tr> <td>Estimated Life:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtEstimatedLife" name="txtEstimatedLife" value="@estimatedLife" /> years</td> </tr> </table> <hr /> <table style="width: 300px" align="center"> <tr> <td style="width: 50px"> </td> <td><input type="submit" value="Calculate Depreciation" name="btnCalculate" style="width: 200px" /></td> </tr> </table> </form> <hr /> <table style="width: 625px" align="center"> <tr> <td style="width: 200px">Depreciation Rate:</td> <td>@depreciationRate</td> </tr> <tr> <td>Yearly Depreciation:</td> <td>@strYearlyDepreciation /year</td> </tr> <tr> <td>Monthly Depreciation:</td> <td>@strDepreciation12 /month</td> </tr> </table> <hr /> <table style="width: 625px" align="center" border="3"> <tr style="border-bottom: 1px solid black"> <td>Year</td> <td style="text-align: center">Yearly Depreciation</td> <td>Book Value</td> <td>Accumulated Depreciation</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@year</td> <td></td> <td>@strBookValueYear0</td> <td></td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 1)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear1</td> <td style="text-align: center">@strAccumulatedDepreciation1</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 2)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear2</td> <td style="text-align: center">@strAccumulatedDepreciation2</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 3)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear3</td> <td style="text-align: center">@strAccumulatedDepreciation3</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 4)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear4</td> <td style="text-align: center">@strAccumulatedDepreciation4</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 5)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear5</td> <td style="text-align: center">@strAccumulatedDepreciation5</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 6)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear6</td> <td style="text-align: center">@strAccumulatedDepreciation6</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 7)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear7</td> <td style="text-align: center">@strAccumulatedDepreciation7</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 8)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear8</td> <td style="text-align: center">@strAccumulatedDepreciation8</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 9)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear9</td> <td style="text-align: center">@strAccumulatedDepreciation9</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 10)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear10</td> <td style="text-align: center">@strAccumulatedDepreciation10</td> </tr> </table>
A Value Greater Than or Equal to Another: >=
The greater than or the equality operators can be combined to produce an operator as follows: >=. This is the "greater than or equal to" operator. The formula it follows is:
value1 is >= value2
The comparison is performed on both operands: value1 and value2:
This operation can be illustrated as follows:
Here is an example that uses the >= operator:
@page
@model Valuable.Pages.FoundationsModel
@{
double consumption = 0.74;
double pricePerCCF = 0.00;
if (consumption is >= 0.50)
pricePerCCF = 35.00;
double monthlyCharges = consumption * pricePerCCF;
}
<pre>Gas Utility Company
-----------------------------
Gas Consumption: @consumption
Price Per CCF: @pricePerCCF
Monthly Charges: @monthlyCharges</pre>
This would produce:
Gas Utility Company --------------------------------- Gas Consumption: 0.74 Price Per CCF: 35.0 Monthly Charges: 25.9
Practical Learning: Comparing for a Value Greater Than or Equal to Another
@page @model StraightLineMethod2.Pages.DepreciationModel @{ int year = 0; int estimatedLife = 0; double machineCost = 0.00; double salvageValue = 0.00; double depreciationRate = 0.00; double yearlyDepreciation = 0.00; string strDepreciation12 = "0.00"; double bookValueYear0 = 0.00; double bookValueYear1 = 0.00; double bookValueYear2 = 0.00; double bookValueYear3 = 0.00; double bookValueYear4 = 0.00; double bookValueYear5 = 0.00; double bookValueYear6 = 0.00; double bookValueYear7 = 0.00; double bookValueYear8 = 0.00; double bookValueYear9 = 0.00; double bookValueYear10 = 0.00; string strBookValueYear0 = "0.00"; string strBookValueYear1 = "0.00"; string strBookValueYear2 = "0.00"; string strBookValueYear3 = "0.00"; string strBookValueYear4 = "0.00"; string strBookValueYear5 = "0.00"; string strBookValueYear6 = "0.00"; string strBookValueYear7 = "0.00"; string strBookValueYear8 = "0.00"; string strBookValueYear9 = "0.00"; string strBookValueYear10 = "0.00"; string strAccumulatedDepreciation1 = "0.00"; string strAccumulatedDepreciation2 = "0.00"; string strAccumulatedDepreciation3 = "0.00"; string strAccumulatedDepreciation4 = "0.00"; string strAccumulatedDepreciation5 = "0.00"; string strAccumulatedDepreciation6 = "0.00"; string strAccumulatedDepreciation7 = "0.00"; string strAccumulatedDepreciation8 = "0.00"; string strAccumulatedDepreciation9 = "0.00"; string strAccumulatedDepreciation10 = "0.00"; string strYearlyDepreciation = "0.00"; if (Request.HasFormContentType) { machineCost = double.Parse(Request.Form["txtMachineCost"]); salvageValue = double.Parse(Request.Form["txtSalvageValue"]); estimatedLife = int.Parse(Request.Form["txtEstimatedLife"]); depreciationRate = 100 / estimatedLife; yearlyDepreciation = (machineCost - salvageValue) / estimatedLife; strDepreciation12 = $"{(yearlyDepreciation / 12):n}"; strYearlyDepreciation = $"{yearlyDepreciation:f}"; bookValueYear0 = machineCost - (yearlyDepreciation * 0); bookValueYear1 = machineCost - (yearlyDepreciation * 1); bookValueYear2 = machineCost - (yearlyDepreciation * 2); bookValueYear3 = machineCost - (yearlyDepreciation * 3); bookValueYear4 = machineCost - (yearlyDepreciation * 4); bookValueYear5 = machineCost - (yearlyDepreciation * 5); bookValueYear6 = machineCost - (yearlyDepreciation * 6); bookValueYear7 = machineCost - (yearlyDepreciation * 7); bookValueYear8 = machineCost - (yearlyDepreciation * 8); bookValueYear9 = machineCost - (yearlyDepreciation * 9); bookValueYear10 = machineCost - (yearlyDepreciation * 10); strBookValueYear0 = $"{bookValueYear0:F}"; strBookValueYear1 = $"{bookValueYear1:F}"; strBookValueYear2 = $"{bookValueYear2:F}"; strBookValueYear3 = $"{bookValueYear3:F}"; strBookValueYear4 = $"{bookValueYear4:F}"; strBookValueYear5 = $"{bookValueYear5:F}"; strBookValueYear6 = $"{bookValueYear6:F}"; strBookValueYear7 = $"{bookValueYear7:F}"; strBookValueYear8 = $"{bookValueYear8:F}"; strBookValueYear9 = $"{bookValueYear9:F}"; strBookValueYear10 = $"{bookValueYear10:F}"; strAccumulatedDepreciation1 = $"{yearlyDepreciation * 1:F}"; strAccumulatedDepreciation2 = $"{yearlyDepreciation * 2:F}"; strAccumulatedDepreciation3 = $"{yearlyDepreciation * 3:F}"; strAccumulatedDepreciation4 = $"{yearlyDepreciation * 4:F}"; strAccumulatedDepreciation5 = $"{yearlyDepreciation * 5:F}"; strAccumulatedDepreciation6 = $"{yearlyDepreciation * 6:F}"; strAccumulatedDepreciation7 = $"{yearlyDepreciation * 7:F}"; strAccumulatedDepreciation8 = $"{yearlyDepreciation * 8:F}"; strAccumulatedDepreciation9 = $"{yearlyDepreciation * 9:F}"; strAccumulatedDepreciation10 = $"{yearlyDepreciation * 10:F}"; } } <h1 style="text-align: center">Machine Depreciation Evaluation - Straight-Line Method</h1> <hr /> <form name="PayrollEvaluation" method="post"> <table style="width: 625px" align="center"> <tr> <td style="width: 125px">Machine Cost:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtMachineCost" name="txtMachineCost" value="@machineCost" /></td> </tr> <tr> <td>Salvage Value:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtSalvageValue" name="txtSalvageValue" value="@salvageValue" /></td> </tr> <tr> <td>Estimated Life:</td> <td><input type="text" style="width: 100px; text-align: right" id="txtEstimatedLife" name="txtEstimatedLife" value="@estimatedLife" /> years</td> </tr> </table> <hr /> <table style="width: 300px" align="center"> <tr> <td style="width: 50px"> </td> <td><input type="submit" value="Calculate Depreciation" name="btnCalculate" style="width: 200px" /></td> </tr> </table> </form> <hr /> <table style="width: 625px" align="center"> <tr> <td style="width: 200px">Depreciation Rate:</td> <td>@depreciationRate</td> </tr> <tr> <td>Yearly Depreciation:</td> <td>@strYearlyDepreciation /year</td> </tr> <tr> <td>Monthly Depreciation:</td> <td>@strDepreciation12 /month</td> </tr> </table> <hr /> <table style="width: 625px" align="center" border="3"> <tr style="border-bottom: 1px solid black"> <td>Year</td> <td style="text-align: center">Yearly Depreciation</td> <td>Book Value</td> <td>Accumulated Depreciation</td> </tr> <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@year</td> <td></td> <td>@strBookValueYear0</td> <td></td> </tr> @if (bookValueYear1 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 1)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear1</td> <td style="text-align: center">@strAccumulatedDepreciation1</td> </tr> } @if (bookValueYear2 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 2)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear2</td> <td style="text-align: center">@strAccumulatedDepreciation2</td> </tr> } @if (bookValueYear3 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 3)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear3</td> <td style="text-align: center">@strAccumulatedDepreciation3</td> </tr> } @if (bookValueYear4 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 4)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear4</td> <td style="text-align: center">@strAccumulatedDepreciation4</td> </tr> } @if (bookValueYear5 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 5)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear5</td> <td style="text-align: center">@strAccumulatedDepreciation5</td> </tr> } @if (bookValueYear6 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 6)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear6</td> <td style="text-align: center">@strAccumulatedDepreciation6</td> </tr> } @if (bookValueYear7 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 7)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear7</td> <td style="text-align: center">@strAccumulatedDepreciation7</td> </tr> } @if (bookValueYear8 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 8)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear8</td> <td style="text-align: center">@strAccumulatedDepreciation8</td> </tr> } @if (bookValueYear9 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 9)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear9</td> <td style="text-align: center">@strAccumulatedDepreciation9</td> </tr> } @if (bookValueYear10 is >= 0) { <tr style="border-bottom: 1px solid black"> <td style="text-align: center">@(year + 10)</td> <td style="text-align: center">@strYearlyDepreciation</td> <td>@strBookValueYear10</td> <td style="text-align: center">@strAccumulatedDepreciation10</td> </tr> } </table>
Options on IF Conditions
if a Condition is True/False
One way to formulate a conditional statement is to find out whether a situation is true or false. In this case, one of the operands must be a Boolean value as true or false. The other operand can be a Boolean variable. Here is an example:
bool employeeIsFullTime = false;; if( false == employeeIsFullTime) { }
One of the operands can also be an expression that holds a Boolean value.
Imagine that you want to evaluate the condition as true. Here is an example:
bool employeeIsFullTime = true; if( employeeIsFullTime == true) { }
If a Boolean variable (currently) holds a true value (at the time you are trying to access it), when you are evaluating the expression as being true, you can omit the == true or the true == expression in your statement. Therefore, the above expression can be written as follows:
bool employeeIsFullTime = true;
. . . No Change
if( employeeIsFullTime)
{
}
This would produce the same result as previously.
Negating a Condition
On the other hand, if you have a logical expression or value, to let you get its logical opposite, the C# language provides the logical NOT operator represented by !. The formula to use it is:
!variable-or-expression
Actually there are various ways the logical NOT operator is used. The classic way is to check the state of a variable. To nullify a variable, you can write the exclamation point to its left. Here is an example:
bool employed = true;
bool validation = !employed;
When a variable has been "negated", its logical value changes. If the logical value was true, it would be changed to false. Therefore, you can inverse the logical value of a variable by "notting" or not "notting" it.
If There Is No Need
We saw that the <, the <=, the >, and the >= operators can be preceded by the is keyword. To make your code a little simpler, you can omit the is keyword.
Otherwise, to make your code easy to read, you can use the is keyword.
Practical Learning: Creating Conditional Statements
@page @model Valuable.Pages.FoundationsModel @{ string itemName = "Nothing"; int discountRate = 0; int daysInStore = 0; double originalPrice = 0.00; double discountedPrice = 0.00; double discountAmount = 0.00; string strDiscountAmount = "0.00"; string strDiscountedPrice = "0.00"; if (Request.HasFormContentType) { itemName = Request.Form["txtItemName"]; originalPrice = double.Parse(Request.Form["txtOriginalPrice"]); daysInStore = int.Parse(Request.Form["txtDaysInStore"]); if(daysInStore < 60) discountRate = 50; if(daysInStore < 45) discountRate = 35; if(daysInStore < 35) discountRate = 15; if(daysInStore < 15) discountRate = 0; discountAmount = originalPrice * discountRate / 100; discountedPrice = originalPrice - discountAmount; strDiscountAmount = $"{discountAmount:F}"; strDiscountedPrice = $"{discountedPrice:F}"; } } <h2 style="text-align: center">FUN DEPARTMENT STORE</h2> <form method="post" name="frmDepartmentStore"> <table style="width: 500px" align="center"> <tr> <td style="width: 150px">Item Name:</td> <td><input type="text" id="txtItemName" name="txtItemName" value="@itemName" style="width: 345px" /></td> </tr> <tr> <td>Original Price:</td> <td><input type="text" id="txtOriginalPrice" name="txtOriginalPrice" value="@originalPrice" style="width: 100px" /></td> </tr> <tr> <td>Days in Store:</td> <td><input type="text" id="txtDaysInStore" name="txtDaysInStore" value="@daysInStore" style="width: 100px" /></td> </tr> </table> <table style="width: 300px" align="center"> <tr> <td style="width: 50px"> </td> <td><input type="submit" value="Add" name="btnCalculate" style="width: 150px" /></td> </tr> </table> <table style="width: 500px" align="center"> <tr> <td style="width: 150px">Discount Rate:</td> <td><input type="text" id="txtDiscountRate" name="txtDiscountRate" value="@discountRate" style="width: 100px" /> %</td> </tr> <tr> <td>Discount Amount:</td> <td><input type="text" id="txtDiscountAmount" name="txtDiscountAmount" value="@strDiscountAmount" style="width: 100px" /></td> </tr> <tr> <td>Discounted Price:</td> <td><input type="text" id="txtDiscountedPrice" name="txtDiscountedPrice" value="@strDiscountedPrice" style="width: 100px" /></td> </tr> </table> </form>
Once again, we saw that the <, the <=, the >, and the >= operators can be preceded by the is keyword. Here is an example that uses the >= operator:
@page
@model Valuable.Pages.FoundationsModel
@{
int level = 0;
string conclusion = "Failed or no Clearance";
if (Request.HasFormContentType)
{
level = int.Parse(Request.Form["txtSecurityClearance"]);
if(level is >= 3)
conclusion = "Welcome on board";
}
}
<h2 style="text-align: center">SECURITY CLEARANCE</h2>
<form method="post" name="frmSecurityClearance">
<p>To grant you this job, we need to ask a few questions.</p>
<p>Levels of Security Clearance:</p>
<p>0 - Unknown or None</p>
<p>1 - Non-Sensitive</p>
<p>2. National Security - Non-Critical Sensitive</p>
<p>3. National Security - Critical Sensitive</p>
<p>4. National Security - Special Sensitive</p>
<p>Type the numeric level: <input type="text" style="width: 50px" id="txtSecurityClearance" name="txtSecurityClearance" value="@level" /></p>
<p><input type="submit" value="Validate" name="btnValidate" style="width: 150px" /></p>
</form>
<p>@conclusion.</p>
Here is an example of running the program:
To get the opposite result of those operator, you can use an operator named not. The expression to use is is not. Here is an example:
@page
@model Valuable.Pages.FoundationsModel
@{
int level = 0;
string conclusion = "You passed the Security Clearance. Welcome on board";
if (Request.HasFormContentType)
{
level = int.Parse(Request.Form["txtSecurityClearance"]);
if(level is not >= 3)
conclusion = "You failed the Security Clearance or the Clearance was not conclusive.";
}
}
<h2 style="text-align: center">SECURITY CLEARANCE</h2>
<form method="post" name="frmSecurityClearance">
<p>To grant you this job, we need to ask a few questions.</p>
<p>Levels of Security Clearance:</p>
<p>0 - Unknown or None</p>
<p>1 - Non-Sensitive</p>
<p>2. National Security - Non-Critical Sensitive</p>
<p>3. National Security - Critical Sensitive</p>
<p>4. National Security - Special Sensitive</p>
<p>Type the numeric level: <input type="text" style="width: 50px" id="txtSecurityClearance" name="txtSecurityClearance" value="@level" /></p>
<p><input type="submit" value="Validate" name="btnValidate" style="width: 150px" /></p>
</form>
<p>@conclusion.</p>
Here is an example of running the program:
A Summary of Logical Operators
As you might have found out, every logical operator has an opposite. They can be resumed as follows:
Operator | Meaning | Example | Opposite | |
== | Equality to | a == b | != | |
!= | Not equal to | 12 != 7 | == | |
< | is < | Less than | 25 < 84 | >= |
<= | is <= | Less than or equal to | Cab <= Tab | > |
> | is > | Greater than | 248 > 55 | <= |
>= | is >= | Greater than or equal to | Val1 >= Val2 | < |
|
|||
Previous | Copyright © 2001-2023, FunctionX | Wednesday 27 October 2021 | Next |
|